python变量的作用域

关于python的作用域理解起来比较简单,最近做项目遇到了一个这样的问题,关于全局变量的关键词global该怎么用?

最开始以为只要是全局的变量在局部函数里使用就要在使用前声明,XX是全局的变量。

(注释的是输出结果)

a='a'
c='c'
def test():
    global a
    c
    print a
    print c
    
test()
#a
#c
#c

 

但是这样运行后发现,test里的c指向的仍然是全局变量。

a='a'
c='c'
def test():
    global a
    c = 'd'
    print a
    print c
 
test()
#a
#d
#c


 
 改成这样以后c就是局部变量了。所以,当你的全局变量只是做获取的操作,不用global声明也是可以直接用的。如果要做改变引用的操作,就的有关键字global了,不然c就变成局部变量,指向另一个地方了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值