python全局变量
程序员文章站
2024-01-22 19:13:46
...
1. python全局变量在函数和类定义外面,如果某个函数或类想使用这个全局变量,需要添加global 关键字加以说明,否则就是重新定义了一个和全局变量名字相同的局部变量,参见如下例子:
a = 2
def change():
global a
a = 3
print a
print a
change()
print a
打印结果是:
2
3
3
如果是如下代码:
a = 2
def change():
a = 3
print a
print a
change()
print a
2
3
2
2. 不需要添加global关键字也能在函数内部使用全局变量的情况:
如果在某个函数或类里面没有给该全局变量赋值,就不需要添加 global关键字加以说明
例子:
x = 3
def f(y):
y = x+y
return y
print f(2)
上面的代码可以正常运行,结果就是5
但是如果改成下面的代码就会报错了:
x = 3
def f(y):
x = x+y
return y
print f(2)
x = 3
def f(y):
global x
x = x+y
return y
print f(2)
此时结果是2