首页
学习
活动
专区
圈层
工具
发布

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

一、引用

例1

代码语言:javascript
复制
a = 1
def func():
    if 1 == a:
        print("a = %d" % a)
if __name__ == '__main__':
func()

运行结果:

代码语言:javascript
复制
a = 1

二、修改

例2

代码语言:javascript
复制
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)

运行结果:

代码语言:javascript
复制
before func a: 1
in func a: 2
after func a: 1

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

例3

代码语言:javascript
复制
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)

运行结果:

代码语言:javascript
复制
before func a: 1
in func a: 2
after func a: 2

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

三、结论

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

下一篇
举报
领券