函式巢狀
阿新 • • 發佈:2020-08-08
1、函式的巢狀呼叫:在呼叫一個函式的過程中又呼叫了其他函式
def bar(): print('from bar') def foo(): print('from foo') bar() foo() # 應用示例 def max2(x,y): if x > y: return x else: return y def max4(a,b,c,d): res1=max2(a,b) res2=max2(res1,c) res3=max2(res2,d) return res3 print(max4(1,2,3,4))
2、函式的巢狀定義:在一個函式內部又定義了其他函式
特點:定義在函式內的函式通常情況只能函式內部使用,這是一種封閉的效果
def f1(): def f2(): print('from f2') x = 111 # print(x) # print(f2) f2() f1() 應用示例 from math import pi def circle(radius,action=1): def perimeter(radius): return 2 * pi * radiusdef area(radius): return pi * (radius * radius) if action == 1: return perimeter(radius) elif action == 2: return area(radius) print(circle(10,1)) print(circle(10,2))
3、函式巢狀定義+函式物件
def f1(): def f2(): print('from f2') return f2 res=f1() print(res) res()