python全局变量、局部变量、嵌套函数

1、全局变量、局部变量

全局变量在调用的function中是不允许被直接修改的。 

修改方法:在全局变量前加global 关键字

        如:修改text这个全局变量,方法:global text="XXX"

对于在调用函数中修改局部变量的,但输出局部变量还是原值的原因:

            是函数在栈中创建了一个与全局变量同名的局部变量,值作用于当前修改它的函数

2、内部嵌套函数

内部嵌套函数:函数里面套函数

内部函数的作用域只在母函数中有效,在母函数内、子函数外定义的变量,对于子函数来说相当于全局变量,所以无法直接修改子函数的“全局变量”,修改方法如下:

1)、使用容器类型的数据,对容器类型的数据进行修改

def fun11():
    x=[6]
    def fun22():
        x[0] *= x[0]
        return x[0]
    return fun22()

2)、加上nonlocal关键字

def fun111():
    x=7
    def fun222():
        nonlocal x
        x *= x
        return x
    return fun222()


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值