Day2: python基础(函数)
2018-05-14 本文已影响0人
奋发的小菜鸟
这一章内容我也更新到github上去了,这一章的内容主要在于对于闭包和装饰器的理解,我觉得下面这个例子比较好用来理解闭包:
def pow_x(x):
def echo(value):
return value**x
return echo
pow_list=[pow_x(x) for x in range(5)]
print(pow_list)
for p in pow_list:
print(p(2))
pow_list中装的是外层函数的函数集合,在for循环中是分别对2做了0到5次的乘积。简单的看来可以看作是渐进的投进两个参数进去。闭包是由函数和与其相关的引用环境组合而成的实体。而装饰器和闭包的思路很像,但是更好的是不用更改原函数的代码,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象。