python中的内嵌函数
python允许在函数内部定义另一个函数,这种函数称为内嵌函数或者内部函数。
1、例
>>> def a(): ## a外层函数,b为内层函数
print("hello world!")
def b():
print("xxxxx!")
b()
>>> a()
hello world!
xxxxx!
>>> b() ## 函数b的作用域都在函数a内,别的地方无法调用函数b。
Traceback (most recent call last):
File "<pyshell#1032>", line 1, in <module>
b()
NameError: name 'b' is not defined
>>> def a():
print("hello world!")
def b():
print("xxxxxx!")
return b()
>>> a()
hello world!
xxxxxx!
>>> def a():
print("hello world!")
def b():
print("xxxxxx!")
return b
>>> a()
hello world!
<function a.<locals>.b at 0x000002224043B550>
>>> a()()
hello world!
xxxxxx!
2、在嵌套函数中,内部函数可以引用外部函数的局部变量
>>> def a():
x = 100
y = 200
def b():
print("x value = ",x)
print("y value = ",y)
return b()
>>> a()
x value = 100
y value = 200
3、python允许在函数内部定义另一个函数,这种函数称为内嵌函数或者内部函数。
示例:
>>> def a(x):
print("x = ",x)
def b(y):
print("y = ",y)
print("x * y = ",x * y)
return b
>>> a(3)(8)
x = 3
y = 8
x * y = 24
>>> a(5)(9)
x = 5
y = 9
x * y = 45
>>> def a(x):
print("x = ",x)
def b(y):
print("y = ",y)
print("x + y = ", x + y)
print("x - y = ", x - y)
print("x * y = ", x * y)
print("x / y = ", x / y)
return b
>>> a(8)(2)
x = 8
y = 2
x + y = 10
x - y = 6
x * y = 16
x / y = 4.0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律