Python闭包与延时求值
闭包可以实现先将参数传递给一个函数,而不立即运行,在被调用的时候才运行
使用函数定义中再定义函数的方式来实现
def foo():
x=3
def bar():
print('x is %d'%x)
return bar
if __name__ == '__main__':
print('after call function foo')
pfoo=foo()
print('after call function pfoo')
pfoo()
输出结果为:
after call function foo
after call function pfoo
x is 3