二 函數對象、函數嵌套
阿新 • • 發佈:2018-02-15
rom 函數對象 容器類 數據傳遞 span 函數嵌套 clas 特性 數據
一 函數對象
一、函數是第一類對象,即函數可以當作數據傳遞
二、利用該特性,優雅的取代多分支的if
二 函數嵌套
一、函數的嵌套調用
二、函數的嵌套定義
一 函數對象
一、函數是第一類對象,即函數可以當作數據傳遞
#1 可以被引用 #2 可以當作參數傳遞 #3 返回值可以是函數 #3 可以當作容器類型的元素
二、利用該特性,優雅的取代多分支的if
1 def foo(): 2 print(‘foo‘) 3 4 def bar(): 5 print(‘bar‘) 6 7 dic={8 ‘foo‘:foo, 9 ‘bar‘:bar, 10 } 11 while True: 12 choice=input(‘>>: ‘).strip() 13 if choice in dic: 14 dic[choice]()
二 函數嵌套
一、函數的嵌套調用
def max(x,y): return x if x > y else y def max4(a,b,c,d): res1=max(a,b) res2=max(res1,c) res3=max(res2,d)return res3 print(max4(1,2,3,4))
二、函數的嵌套定義
1 def f1(): 2 def f2(): 3 def f3(): 4 print(‘from f3‘) 5 f3() 6 f2() 7 8 f1() 9 f3() #報錯,為何?請看下一小節
二 函數對象、函數嵌套