python--nonlocal, global, local

本文深入探讨了Python中nonlocal关键字的使用,特别是在嵌套函数内的变量修改机制。通过两个实例,展示了如何在内层函数中修改外层函数的变量,并观察到变量的变化如何反映在内外函数中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:

https://www.programiz.com/python-programming/global-local-nonlocal-variables

说明

nonlocal 用于嵌套函数(nested)nonlocal后若发生改变则全部改变

example_1:
def outer():
    x = "local"

    def inner():
        nonlocal x
        x = "nonlocal"
        print("inner:", x)

    inner()
    print("outer:", x)


outer()

out:

inner: nonlocal
outer: nonlocal
example_2:
def outer():
    x = [0] * 3

    def inner():
        nonlocal x
        x[1] = 999
        print("inner:", x)

    inner()
    print("outer:", x)


outer()

out:

inner: [0, 999, 0]
outer: [0, 999, 0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值