Python高階筆記(十)閉包

2022-02-27 10:16:37 字數 392 閱讀 2280

#!/usr/bin/python

# -*- encoding=utf-8 -*-def test(number):

# 在函式裡面再定義乙個函式,並且這個函式用到外邊函式的變數,那麼將這個函式以及用到的一些變數稱之為閉包

def test_in(number_in):

print(

"in test_in 函式,number_in is %d

" %number_in)

return number+number_in

# 其實這裡返回的就是閉包的結果

return

test_in

ret = test(20

)print(ret(

30))

Python 高階函式 閉包

閉包 什麼是閉包 如果在乙個內部函式裡,對在外部作用域 但不是在全域性作用域 的變數進行引用,那麼內部函式就被認為是閉包。需要滿足的條件 1 乙個函式內巢狀乙個函式 2 外部函式的返回值必須是這個內部函式 3 內部函式必須使用外部函式中的區域性變數 def fun 1 num 1 9 def fun...

python高階之閉包

在函式巢狀的情況下,內部函式使用了外部函式的變數,並且外部函式返回了內部函式,我們就把這個使用了外部函式變數的內部函式稱為閉包。儲存外部函式內的變數,不會隨著外部函式呼叫而銷毀 def out func out num 10 def in func x print f 內部函式使用了外部函式的變數o...

python筆記 閉包

閉包 在乙個外函式中定義了乙個內函式,內函式裡運用了外函式的臨時變數,並且外函式的返回值是內函式的引用。這樣就構成了乙個閉包。def fun1 x def fun2 y return x y return fun2 fun1 3 3 9 def outer a b 10 inner是內函式 def ...