您的位置:首页 > 运维架构

运维工程师的发展和前景

2013-03-15 15:03 302 查看
1、什么是闭包

一个函数和它的环境变量合在一起,就构成了一个闭包。 在python中所谓的闭包是一个包含有环境变量取值的函数对象。
2、实例一
def line_conf():
b = 15

def line(x):

return 2*x + b

return line

b=5

my_line = line_conf()

print (my_line(5))

note: 环境变量取值被保存在函数对象的__closure__属性中,他是tuple类型,我们可以通过 print(my_line.__closure__[0].cellcontents) 来访问
3、 实例二
def line_conf(a, b):
def line(x):

return ax+b

return line
line1 = line_conf(1, 1)

line2 = line_conf(4, 5)
print (line1(5), line2(5))

note: 这个例子中, 函数line与环境变量a, b构成闭包, 如果没有闭包,我们需要每次创建直线函数的时候同时说明a, b, x, 这样就需要更多的参数传递, 也减少了代码的可移植性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: