首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学Python(27):全局变量的引用和修改

小朋友学Python(27):全局变量的引用和修改

作者头像
海天一树
发布2018-04-17 11:15:47
1.2K0
发布2018-04-17 11:15:47
举报
文章被收录于专栏:海天一树海天一树

一、引用

例1

a = 1
def func():
    if 1 == a:
        print("a = %d" % a)
if __name__ == '__main__':
func()

运行结果:

a = 1

二、修改

例2

a = 1
def func():
    a = 2
    print ("in func a:", a)
if __name__ == '__main__':
    print("before func a:", a)
    func()
    print("after func a:", a)

运行结果:

before func a: 1
in func a: 2
after func a: 1

说明: 从程序运行结果可以看出,全局变量a的值,并没有成功被修改为2. 这是因为,func()中的a,是一个局部变量,是在新的内存区域生成的一个新对象,只是名字也叫a罢了。

例3

a = 1
def func():
    global a
    a = 2
    print ("in func a:", a)
if __name__ == '__main__':
    print("before func a:", a)
    func()
    print("after func a:", a)

运行结果:

before func a: 1
in func a: 2
after func a: 2

说明:加了global之后,func中的a就是第一行定义的全局变量a,所以可成功修改值

三、结论

若只是引用全局变量,不需要加global关键字; 若要修改全局变量,需要加global关键字。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、引用
    • 例1
    • 二、修改
      • 例2
        • 例3
        • 三、结论
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档