顧名思義,巢狀函式就是在外層函式裡面再增加一層內部函式,在函式執行過程中,只有在外層函式內才可以呼叫內部函式,反之在外層函式之外則無法呼叫。
name = "小猿圈"
def change():
name = "小猿圈,自學程式設計"
def change2():
name = "小猿圈,自學程式設計不要錢"
print("第三層列印",name)
change2() # 呼叫內層函式
print("第二層列印",name)
change() # 呼叫外層函式 ,在函式外部無法呼叫內層函式
print("最外層列印",name)
#第三層列印 小猿圈,自學程式設計不要錢 # change( )>>change2( )>>print("第三層列印")
#第二層列印 小猿圈,自學程式設計 # print("列印第二層")
#最外層列印 小猿圈 # print("最外層列印")
沒有名字的函式就是匿名函式,它的語法就是lambda。
def calc(x,y):
res = x**y
return res
print(calc(2,8))
c= lambda x,y:x**y
print(c(2,8))
給函式傳引數的時候,除了常見的字串、數字、列表、字典、元組、集合之後,還可以個函式的引數輸入乙個引數。
def get_abs(n): # 取絕對值
return int(str(n).strip("-"))
def add(x,y,f):
return f(x)+f(y)
print(add(5,-10,get_abs))
#15
高階函式的特點:
1、接收乙個或者多個函式作為輸入;
2、return返回另一函式
滿足以上任意乙個函式就是高階函式。
函式基礎(三) 巢狀函式 匿名函式
講完作用域之後 對變數的作用範圍有大致的了解了嗎?講個稍微小高階的東西吧 能夠幫助你更加的理解全域性和區域性變數 從小的一點一點的往大了裝,乙個巢狀乙個 函式也可以這麼玩 msg 我是全域性變數 def func msg 我是函式func的區域性變數 def func1 msg 我是函式func1的...
高階函式和匿名函式
1.高階函式 高階函式就是把函式當成引數傳遞的函式。例如 def add x,y,f return f x f y print add 4,3,abs 結果是 7 map 函式 map 函式的python內建的高階函式,他接受乙個函式f 和引數list,並把list的元素傳遞給函式f,然後返回乙個函...
Python高階函式 匿名函式
當我們在傳入函式時,有些時候,不需要顯示定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x 2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 list map lambda x x x,1,1,2,3,4,5,6,7,8,9...