函数的嵌套
一、函数嵌套的定义
函数内部定义的函数,无法在函数外部使用内部定义的函数。
def f1():
def f2():
print('from f2')
f2()
f2() # NameError: name 'f2' is not defined
def f1():
def f2():
print('from f2')
f2()
f1()
from f2
通过给一个函数传参即可求得某个圆的面积或者圆的周长
方法一
"""方法一"""
import cmath
def circle(r,num):
def area():
return cmath.pi * r ** 2
def zhouchang():
return 2 * cmath.pi * r
if num == 'area':
return area()
elif num == 'zhouchang':
return zhouchang()
area = circle(3,'area')
print(area)
方法二
"""方法二"""
def circle(r,num):
if num == 'area':
return cmath.pi * r **2
elif num == 'zhouchang':
return 2 * cmath.pi *r
res = circle(3,'zhouchang')
print(res)
二、函数的嵌套调用
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))
4

浙公网安备 33010602011771号