1:定义收集参数(不知道会有多少个输入),在形参前加*
def myfunc(*args):
print("一共有{}个参数".format(len(args)))
print("第二个参数是{}".format(args[1]))
myfunc("小甲鱼","hahaha")
一共有2个参数
第二个参数是hahaha
2:在形参前面加** 表示输出为字典
def myfunc(a,*b,**c):
print(a,b,c)
myfunc(1,2,3,4,x=5,y=6)
1 (2, 3, 4) {'x': 5, 'y': 6}
3:解包参数
args=(1,2,3,4)
def myfunc(a,b,c,d):
print(a,b,c,d)
myfunc(*args) #将args解包成4个参数,分别传递到四个形参中
1 2 3 4
同样解包关键字参数
kyargs={"a":1,"b":2,"c":3,"d":4}
myfunc(**kyargs)
1 2 3 4
4:nonlocal 语句-在函数内部修改外部变量