流畅的python和cookbook学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流畅的python和cookbook学习笔记相关的知识,希望对你有一定的参考价值。
1.函数的默认参数必须不可变
如果函数的默认参数为可变的对象,那么默认参数在函数外被修改也会影响到函数本身的。
>>> def spam(a, b=None): # b要为不可变参数,不能使用空列表 [] 等可变参数 ... if b is None: ... b = [] ...
2.匿名函数
1.想不出函数名时,或想要一种短小的操作,可以使用匿名函数
>>> sum = lambda x, y: x + y >>> sum(2, 3) 5 >>> def sum(x, y): # 上面的匿名函数,相当于这个函数 ... print(x + y) ... >>> sum(3, 4) 7
2.匿名函数中的绑定变量
>>> x = 10 >>> a = lambda y: x + y >>> x =20 >>> b = lambda y: x +y >>> a(5) # 发现不是期望的15,因为x被改变了 25 >>> b(5) 25 >>> x = 25 >>> a = lambda y, x=x: x + y # 在定义时绑定x,x就为局部变量了,不受x改变的影响 >>> b = lambda y, x=x: x + y >>> a(5) 30 >>> b(5) 20
以上是关于流畅的python和cookbook学习笔记的主要内容,如果未能解决你的问题,请参考以下文章