1:高階函式
#高階函式 定義:把函式作為引數作為另乙個函式的引數
deftest(a,b):
return a*b
deftest_1(f,c):
return f*c
print(test_1(test(1,2),5))
執行結果:
10
2:函式即變數
deffoo():
print("
in the foo")
bar()
defbar():
print("
in the bar")
foo()
執行結果:
inthe foo
in the bar
defbar():
print("
in the bar")
deffoo():
print("
in the foo")
bar()
foo()
執行結果:
inthe foo
in the bar
deffoo():
print("
in the foo")
bar()
foo()
defbar():
print("
in the bar")
執行結果:
nameerror:name bar
isnot defined
分析:之所以會出現上面的結果,在定義foo函式的時候,在內容位址中把foo函式的函式體存在了記憶體當中,而foo相當於變數指向了那個記憶體位址,而在呼叫foo函式的時候,當執行到bar()函式的時候,bar函式這個變數還沒有指向記憶體中的位址,所以才出現上面這種情況。
另外,一旦記憶體中的位址沒有被變數指向了,就會被python的**機制不定時的被清理掉,當然自己也可以用del 方向刪除記憶體位址的指向(del只是刪除的是記憶體位址的指向,並沒有刪除記憶體位址,記憶體位址是python的**機制當存在的記憶體位址沒有被變數指向了就會被清理。
python 函式高階 python 函式高階
形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...
python高階函式和匿名函式
高階函式 允許將函式本身作為引數傳入另乙個函式 允許返回乙個函式。允許返回乙個函式。map 函式 map的第乙個引數為自定義函式,第二個引數為自定義可迭代物件 例子 定義乙個函式f2求平方,使用map函式,求list1的值的平方,list1平方規則按照f2函式執行,返回結果型別為list。list1...
python巢狀函式和高階函式
python巢狀函式和高階函式 1.巢狀函式 函式巢狀 在乙個函式的函式體內用def宣告,不加叫呼叫 def grandpa x 1def dad x 2def son x 3print x son dad grandpa 2.高階函式 2.1定義 將乙個函式作為變數傳給另乙個函式 import t...