python-闭包的理解
闭包怎样理解?
如果在一个函数内部,嵌套了函数,这个内部函数对(非全局作用域)外部作用域的变量进行引用,那么这个内部函数称为闭包。
闭包每次运行是能记住引用的外部作用域的变量的值。
# 闭包的意义:返回的函数对象,不仅仅是一个函数对象, # 在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用, # 优先使用自己外层包裹的作用域 def bibao(): x = 20 def inner(): # 闭包函数 print(x) return inner() bibao()
怎样理解:
1.在bibao()函数里嵌套了inner()函数,
2.这个inner()函数对其外部非全局变量x的变量进行引用,
3.这个内部函数称为闭包。
4.闭包每次运行都能记住应用的外部作用于变量x的值。
name = 'egon' def func2(): def inner(): print(name) return inner() func2()