python关于变量的声明

这篇博客详细讨论了Python中的变量作用域,通过示例展示了全局变量、局部变量和非局部变量的区别。在函数内部,如何通过`nonlocal`关键字改变非局部变量的值,并演示了代码执行流程对变量状态的影响。

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

s = "我是全局变量"
def glo_and_non():
    def do_local ():
        s = "我是局部变量"
        print ("1 "+ s) #在do_local中声明了一个局部变量s
    def do_nonlocal():
        nonlocal s #在glo_and_non中声明的一个变量
        s = "我不是局部,也不是全局"
    def do_global ():
        global s #声明的一个全局变量
        s = "我是最靓的仔-全局变量"
        print ("4 "+s)
    s = "原值"
    do_local ()#运行do_local方法
    print("2 局部变量赋值后:",s)
    do_nonlocal()#运行do_nonlocal方法
    print("3 nonlocal变量赋值后: ", s)#因为运行了do_nonlocal方法使s变量成了"我不是局部,也不是全局"
    do_global()#运行do_global方法
    print("5 全局变量赋值后:", s)#因为还是在glo_and_non方法内,所有变量s还是"我不是局部,也不是全局"
glo_and_non()
print("6 全局变量: ", s)#全局变量s是"我是最靓的仔-全局变量"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值