首页 > 技术文章 > Python的函数嵌套

liunaixu 2020-03-31 18:42 原文

函数的嵌套:

1、函数的嵌套调用:在调用一个函数的过程中有调用其他函数

# 作用:我可以将一个大的功能,拆解为多个小功能,最后在大功能中实现,函数的嵌套调用实例1如下:
# def foo():
#     bar()
# foo()
# 函数嵌套实例2:比较4个值的最大值,思路:两两比较
def max2(x,y):
    if x > y:
        return x
    else:
        return y

def max4(a,b,c,d):
    # 第一步:比较a,b得到res1
    res1 = max2(a,b)
    # 第二步:比较res1,c得到res2
    res2 = max2(res1,c)
    # 第三步:比较res2,d得到res3
    res3 = max2(res2,d)
    return res3

res = max4(1,2,3,4)
print(res)
# 优点:思路清晰,max4中的代码量比较少。

 

2、函数的嵌套定义:在函数内定义函数
# 实例1:
# def f1():  # f1在全局
#     def f2(): # f2在局部,如何让f2在全局用到?目前只能把f2放到全局
#         pass

# 针对圆形:求周长、求面积
# 假如我只是针对圆形操作,那么就要用的嵌套定义
def circle(radius,action=0):
    # 导入pi功能
    from math import pi
    # 求圆形的周长:2*pi*radius
    def perimiter(radius):
        return 2*pi*radius
    # 求圆形的面积:pi*(radius**2)
    def area(radius):
        return pi*(radius**2)

    if action == 0:
        return perimiter(radius)
    elif action == 1:
        return area(radius)
    else:
        print("没有该功能!!!")
circle(
2,action=2)

 

推荐阅读