嵌套&匿名&高阶函数
1、嵌套函数
name = "xu是帅哥" def func1(): name = "xu是大帅哥" def func2(): name = "xu是非常帅的" print("第三层name:", name) func2() print("第二层name:", name) func1() print("第一层name:", name)
打印结果:第三层name: xu是非常帅的
第二层name: xu是大帅哥
第一层name: xu是帅哥
由此可以看出,每个函数里面的变量都是相互独立的,变量查找顺序由里到外
2、匿名函数
calc = lambda x,y:x**y print(calc(2,5))
打印结果:32
3、高阶函数
变量可以指向函数,函数的参数能够接收变量,那么一个函数就可以接收另一个函数作为参数。
def add(a,b): ret = a + b return ret def multiplication(c, d, func): return func(c,d) * func(c,d) print(multiplication(2, 5, add))
打印结果:49
高阶函数满足以下任意一个条件:
1、接收一个或多个函数
2、return 返回另外一个函数
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用