Python學習筆記六 函式閉包

2021-09-10 15:54:00 字數 1055 閱讀 3702

閉包: 在函式巢狀的情況下,內部函式使用了外部函式的引數或者變數,並且把這個內部函式返回,這個內部函式可以成為閉包(對應得到就是乙個函式)

舉例說明:

# 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 101

process 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 做計...