巢狀函式 匿名函式與高階函式

2021-10-10 03:28:47 字數 1008 閱讀 2160

顧名思義,巢狀函式就是在外層函式裡面再增加一層內部函式,在函式執行過程中,只有在外層函式內才可以呼叫內部函式,反之在外層函式之外則無法呼叫。

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...