您的位置:首页 > 编程语言 > Python开发

python学习(10)函数二

2016-10-25 11:11 239 查看
一、返回函数

返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量。

相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”,请再注意一点,当我们调用外层函数时,每次调用都会返回一个新的函数,即使传入相同的参数。注意到返回的函数在其定义内部引用了局部变量
args
,所以,当一个函数返回了一个函数后,其内部的局部变量还被新函数引用。

返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量。

二、匿名函数

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

关键字
lambda
表示匿名函数,冒号前面的
x
表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写
return
,返回值就是该表达式的结果。

Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。

三、装饰函数

在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。

四、偏函数

简单总结
functools.partial
的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: