1.一个闭包:
image.png
返回的是一个方法。
lambda与function定义是一样的:注意x=4会被action函数记住,嵌套作用域。
image.png
2.嵌套作用域要注意这种情况:
image.png
返回的所有方法,最后的i都为4.因为记住的都是外层的变量i,而i变量最后都会变成4。
这样处理下就可以了,让返回的函数不记外层的参数,而是记自己的参数:
image.png
这样,acts[0]的i就为0
acts[1]的i就为1
3.参数顺序:
image.png
4.参数放入元组中:
image.png
5.下的参数是放入字典中:
def f(**args):
print(args)
f()
f(a=9,b=10)
6.这样的调用:
def f(a,b,c,d):print(a,b,c,d)
f(0,[1,2,3]) 只能使用元组或者字典,不能使用列表
f(*(1,2,3,4))
f((1,2,3,4)) 这样也是错误的
f({'a':1,'b':2,'c':5,'d':'o'}) #key得与参数相同
f(1,(6,7,9))
f(1,(3,),c='cc',**{'d':'dddd'})
注意调用参数的顺序










网友评论