Python的闭包

Python函数是支持嵌套的。

1.什么是闭包

如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数就会被称为闭包。

2.python中的闭包需要满足三个条件:

  1. 闭包函数必须有内嵌函数
  2. 内嵌函数必须要引用外层函数的变量
  3. 外部函数会把内部函数的函数名称返回
def outer(a):
    b = 3               # outer函数内的变量,非全局
    def inner():
        print(a+b)      # 引用了inner函数外的变量
    return inner        # 返回内函数的引用
out = outer(3)
print(out())

3.闭包的优点:

  • 避免使用全局变量
  • 可以提供部分数据的隐藏
  • 可以提供更优雅的面向对象实现

你可能感兴趣的:(python)