一 函数对象
一、函数是第一类对象,即函数可以当作数据传递
二、利用该特性,优雅的取代多分支的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() #报错,为何?请看下一小节