python中闭包的实现

>>> def addOne(myFunc):

...     def addOneInside():

...             return myFunc()+1

...     return addOneInside

... 

>>> def oldFunc():

...     return 3

... 

>>> oldFunc = addOne(oldFunc)

>>> oldFunc()

4

>>> oldFunc.__closure__[0].cell_contents()

3

>>> 


#这样的话,oldFunc.__closure__[0].cell_contents就是被包装前的那个返回3的函数

#__closure__是tuple类型的

#闭包的实现

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章