- 定义函数:如果有默认参数放在形参最后面,不然就报错了
- def 函数名(形参)
函数体
return 返回值
- def 函数名(形参)
- 执行函数
- 函数名(实参)
- 动态参数
# 动态参数一 ----> 元组 def f1(*a): print(a, type(a)) # 调用 f1(123, 456) # (123, 456) <class 'tuple'> # 动态参数二 ---> 字典 def f2(**b): print(b, type(b)) # 调用 f2(k1=123, k2=456) # {'k1': 123, 'k2': 456} <class 'dict'> def f3(p, *a, **b): print(p, type(p)) print(a, type(a)) print(b, type(b)) # 调用 f3(11, 22, 33, k1=123, k3=456) # 11 <class 'int'> # (22, 33) <class 'tuple'> # {'k1': 123, 'k2': 456} <class dict'> # 结合 f1(*args, **kwargs) li = [11, 22, 33, 44] def f5(*args): print(args, type(args)) f5(li) # ([11, 22, 33, 44]) <class 'tuple'> f5(*li) # (11, 22, 33, 44) <class 'tuple'> def f6(**kwargs): print(kwargs, type(kwargs)) dic = {'k1': 123} f6(k1=dic) # {'k1':{'k1': 123}} <class dict'> f6(**dic) # {'k1': 123} <class dict'>
- 全局变量和局部变量
- 全局变量一边都大写
P = 456 # 全局变量 def func1(): a = 123 # 局部变量 print(a) P = 789 # 不能修改全局变量仍然是局部变量 global P = 111 # 改变全局变量
- 补充
- isinstance 判断一个对象是不是这个类的实例
网友评论