函数的嵌套分为两类:
1、函数的嵌套定义: 在函数内部又定义了一个函数
def foo():
x=1
#print(x)
def bar():
print('from bar')
def shop():
print(‘开始购物’)
shop() #这里调取第三层的功能,所以从第三层开始就每一层都调用一次函数本身
bar()
foo()
PS:函数嵌套调取局部函数的功能,如果要调取那一层的功能,name就在在这层功能开始每一层都要调用一次函数本身
2、函数的嵌套调用: 在调用一个函数的内部又调用其他函数
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
函数嵌套实例:求圆周率
from math import pi #从math内置函数调取pi圆周率(pi就是圆周率)
def circle(radius,types=0): #这里定义一个函数有两个实参
def perimiter(radius):
return 2 * pi * radius #radius 就是半径
def area(radius):
return pi * (radius ** 2)
if types == 0:
res=perimiter(radius)
elif types == 1:
res=area(radius)
else:
print('不支持的操作,types必须传入0或者1')
return res
circle(10,1) #10是半径,1传给types调取功能
PS:计算程序肯定有一个返回值,所以必须将计算结果放入一个变量中,然后程序结束后返回这个变量