在 Python 中,有关 global 关键字基本规则如下:
当我们在一个函数中创建一个变量时,默认情况下它是本地变量。
当我们在一个函数之外定义一个变量时,默认情况下它是全局变量。你不必使用 global 关键字。
我们使用 global 关键字在一个函数中来读写全局变量。
在一个函数外使用 global 关键字没有效果。
示例 1:从函数内部访问全局变量
运行程序,输出为:
但是我们可能有一些场景需要从函数内部修改全局变量。
示例 2:在函数内部修改全局变量
运行程序,输出显示错误:
这是因为在函数中,我们只能访问全局变量但是不能修改它。
解决的办法是使用 global 关键字。
示例 3:使用 global 在函数中改变全局变量
运行程序,输出为:
def func():global x
x=3
return x
f=func()
print x
一般多用在函数内,声明变量的作用域为全局作用域。
如例子中的x,如果不加global,则作用域仅为func()函数内部,print x时,会报错;
加了global后,函数实例化后,就可以在函数外部直接访问x了。