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 * radius def 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()