閉包: 在函式巢狀的情況下,內部函式使用了外部函式的引數或者變數,並且把這個內部函式返回,這個內部函式可以成為閉包(對應得到就是乙個函式)
舉例說明:
# no.
1def line_conf
(a, b)
: def line
(x):
return a * x + b
return line
# no.
2def line_conf()
: a =
1 b =2
def line
(x):
print
(a * x + b)
return line
# no.
3def _line_
(a,b)
: def line_c
(c):
def line
(x):
return a*
(x**2)
+b*x+c
return line
return line_c
要有內嵌函式
內部函式使用外部函式的變數和引數
外部函式返回內嵌函式
作用:提高**的復用性
舉例說明:
def line_conf
(a, b)
: def line
(x):
return a * x + b
return line
#根據條件生成不同的函式
line1 =
line_conf(1
,1)y1 =
line1(10
)line2 =
line_conf(10
,1)y2 =
line2(10
)print
(y1,y2)
輸出結果:
11 101process finished with exit code 0
python學習筆記 閉包
乙個函式a和乙個函式b,其中b函式位於a函式體內部,同時b函式體內呼叫了b函式之外,a函式之內的其他變數x 包括a中傳遞過來的引數 此時,x稱為b函式的環境變數,b函式和變數x就構成了乙個閉包。而函式b是需要返回的,也就是返回函式b,其中在返回的時候,對a引數x的呼叫也包括在了裡面,有點封閉包含的意...
Python學習筆記 閉包
在學習閉包之前,我們先要弄懂一件事兒。同理 test其實就是乙個變數,變數中存放著函式體的位址,就像a變數中存放著100的位址一樣。t test實質上就是淺拷貝行為。將變數test中的位址存放到變數t中 我們如果要呼叫test函式,test 當t獲取了函式體的位址後,同樣可以以t 的形式呼叫函式 注...
Python之閉包學習筆記
走棋子是乙個很好的例子理解為什麼用閉包。資料來自網易雲課堂 假設需求是給定一顆在 0,0 位置的棋子,使用者互動輸入移動方向與步數,寫乙個函式記錄棋子的位置變化。這個函式可以是這樣的 以使用者輸入的方向與步數變數為引數,計算出移動後的位置值作為函式返回值。那麼走第一步時,基於初始位置值 0,0 做計...