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類型的

#閉包的實現

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