python——函数 15、闭包函数
定义在函数内部的函数,为闭包函数,
此内部函数是对自己这层外部的引用,而不是对全局的引用
所以这个函数成为闭包函数。
包两层
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
a=1 def foo(): a=2 def foo2(): print(a) return foo2 y=foo() y()
包三层
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
def egon_name(): name='Steven' def monthly_pay(): money = 100000 def hehe(): print('monthly salary is %s' %(money)) print('my name is %s' %(name)) return hehe return monthly_pay a=egon_name() b=a() b()