Python的函数嵌套

函数的嵌套:

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)
复制代码

 

posted @   思江  阅读(3496)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示