2020-05-02

2020-05-02  本文已影响0人  价值投机168

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'})

注意调用参数的顺序

上一篇 下一篇

猜你喜欢

热点阅读