【python】闭包
生活随笔
收集整理的這篇文章主要介紹了
【python】闭包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
def outer ():
a=1
def inner():
print(a)
inner()
print(inner.__closure__)
outer()
---------------------------------------
a=1
def inner():
print(a)
inner()
outer()
------------------------------------------------
在函數里面定義個函數,并且在函數里面調用它。結果是“1” ? def outer ():
a=1
def inner():
print(a)
return inner
inn=outer()
inn() ----------------------------
外層函數的返回值用內層函數
inn=outer(),則返回innter ,表示inn=innter
inn()=innter(),inn加括號表示innter也加括號,即可以直接調用內層函數。內層函數不能直接調用。
三,作用
說了這么多,不免有人要問,那這個閉包在實際的開發中有什么用呢?閉包主要是在函數式開發過程中使用。
以下介紹兩種閉包主要的用途。
用途1,當閉包執行完后,仍然能夠保持住當前的運行環境。
用途2,閉包可以根據外部作用域的局部變量來得到不同的結果,這有點像一種類似配置功能的作用,我們可以修改外部的變量,
閉
a=1
def inner():
print(a)
inner()
print(inner.__closure__)
outer()
---------------------------------------
1
(<cell at 0x0000000002146468: int object at 0x0000000064486C10>,)#?顯示這句話,表示是閉包。
雙層函數,內層函數要是調用了外層函數的變量,就是閉包
----------------------------------------------------------------------------------
def outer ():a=1
def inner():
print(a)
inner()
outer()
------------------------------------------------
在函數里面定義個函數,并且在函數里面調用它。結果是“1” ? def outer ():
a=1
def inner():
print(a)
return inner
inn=outer()
inn() ----------------------------
外層函數的返回值用內層函數
inn=outer(),則返回innter ,表示inn=innter
inn()=innter(),inn加括號表示innter也加括號,即可以直接調用內層函數。內層函數不能直接調用。
三,作用
說了這么多,不免有人要問,那這個閉包在實際的開發中有什么用呢?閉包主要是在函數式開發過程中使用。
以下介紹兩種閉包主要的用途。
用途1,當閉包執行完后,仍然能夠保持住當前的運行環境。
用途2,閉包可以根據外部作用域的局部變量來得到不同的結果,這有點像一種類似配置功能的作用,我們可以修改外部的變量,
閉
轉載于:https://www.cnblogs.com/yang30293316/p/11285043.html
總結
以上是生活随笔為你收集整理的【python】闭包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动物笑话一则
- 下一篇: 【python】装饰器