Python想法读书

闭包

2019-03-31  本文已影响79人  zhangxiaohao

有些概念常学常忘,闭包算是一个,先记录一下备忘。

先上概念,闭包指得是:嵌套的函数,内部(内层)函数调用外部函数的变量或参数,这个内部函数就是闭包函数。

def outer(arg):

      a='我是外层函数的变量'

       def inner():

              print(a)

              print(arg)

     return inner

inner()函数就是闭包函数。

常用调用方式如下:

inn=outer(‘我是外层函数的参数’)

inn()

闭包主要借用了面向对象的编程理念,要实现开放封闭原则,即类或函数内部要封闭,内部功能不要随意改动,外部是开放的,修改类或函数的功数的功能在外部实现,切忌在内部修改。比如底层架构已经打好。就不要动底层架构,如非要改必然上层成千上万的基于底层的功能都要变。

根据上层谁变就更改谁的原则,就要用的闭包方式,比较常见的就是装饰器。

上一篇 下一篇

猜你喜欢

热点阅读