Python中的函数嵌套

一个函数里面又调用了另一个函数,这就是所谓的函数嵌套
def testB():
    print('-------------1')
    print('我再吃饭我是猪')
    print('1-------------')
def testA():
    print('1234567890')
    testB()
    print('0987465123')
testA()

运行结果:

如果函数A中调用了函数B,那么会把函数B中的运行完,才会运行函数B

### Python 嵌套函数的使用场景和示例 #### 定义与作用域 在 Python 中,可以在一个函数内部定义另一个函数,这种结构称为嵌套函数嵌套函数拥有自己独立的作用域,同时也能够访问外部函数中的局部变量[^1]。 ```python def outer_function(x): def inner_function(y): # 这是一个嵌套函数 return x + y result = inner_function(5) return result ``` 在这个例子中 `inner_function` 是 `outer_function` 的一部分,它可以直接访问参数 `x` 而无需将其作为自己的参数传递进来。 #### 实际应用场景 ##### 场景一:封装逻辑细节 当某个特定功能仅用于辅助主函数完成任务而不对外公开时,可以将其实现嵌套函数。这样不仅提高了代码可读性和维护性,还避免了不必要的全局命名空间污染。 ```python def calculate_total_price(items, tax_rate=0.0825): def apply_tax(price): return price * (1 + tax_rate) total = sum([apply_tax(item['price'] * item['quantity']) for item in items]) return round(total, 2) ``` 这里 `apply_tax()` 只服务于计算总价的过程,在其他地方不会被调用到,因此非常适合以内置方式实现。 ##### 场景二:创建闭包 利用嵌套函数还可以构建闭包——即返回一个新的函数对象给外界使用的同时保留住当前环境下的状态信息。 ```python def make_multiplier(factor): def multiplier(number): return factor * number return multiplier double_it = make_multiplier(2) triple_it = make_multiplier(3) print(double_it(5)) # 输出 10 print(triple_it(5)) # 输出 15 ``` 上述代码片段展示了如何通过闭包机制让不同实例化的 `multiplier` 记住了各自不同的倍数因子 `factor` 并持续生效于后续的操作之中[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值