大多数编程语言中,在函数外部声明的变量称为全局变量。您可以在函数内部和外部访问此类变量,因为它们具有全局范围,同样在 Python 中也是如此。
下面是一个全局变量的例子:
x = 10
def showX():
print("The value of x is", x)
showX()
# The value of x is 10
上面代码中的变量x
是在函数外部声明的:x = 10
.
调用showX()
函数,我们仍然可以访问x
,因为它是在全局范围内声明的。
让我们看另一个例子,它展示了当我们在函数中声明一个变量并尝试在其他地方访问它时会发生什么。
def X():
x = 10
X()
def showX():
print("The value of x is", x)
showX()
NameError: name 'x' is not defined
在上面的示例中,我们x
在函数内部声明并尝试在另一个函数中访问它。这导致了 NameError 因为x
没有全局定义。
在函数内部定义的变量称为局部变量。它们的值只能在声明它们的函数中使用。
您可以使用global
关键字更改局部变量的范围。
Python 中的global
关键字是什么?
global 关键字主要有两个功能:
- 修改全局变量的值。
- 使局部变量在局部范围之外可访问。
让我们看一下每个场景的一些示例,以帮助您更好地理解。
示例 #1 – 使用global
关键字修改全局变量
在第一段示例代码中,我们没有尝试更改变量的值。我们所做的只是在一个函数中访问并打印它的值。
让我们尝试更改全局变量的值,看看会发生什么:
x = 10
def showX():
x = x + 2
print("The value of x is", x)
showX()
# local variable 'x' referenced before assignment
正如您在上面看到的,当我们尝试将 的值加 2 时x
,我们得到了一个错误。这是因为我们只能访问而不能修改x
.
为了解决这个问题,我们可以使用global
变量。类似下面这样:
x = 10
def showX():
global x
x = x + 2
print("The value of x is", x)
showX()
# The value of x is 12
使用global
在函数内部声明全局变量x
后,我们可以修改x
它的初始值并将其添加 2。
示例 #2 – 使用global
关键字使局部变量在局部范围之外可访问
当我们在函数中创建局部变量时,不能在另一个函数中使用它的值,因为编译器无法识别该变量。
下面是我们如何使用global
关键字来解决这个问题:
def X():
global x
x = 10
X()
def showX():
print("The value of x is", x)
showX()
# The value of x is 10
为了使局部变量x
可以在其本地范围之外访问,我们使用global
关键字声明它:global x
。
之后,我们为x
赋值。然后我们调用我们用来声明它的函数:X()
当我们调用showX()
打印函数中x
声明的值的X()
函数时,我们没有收到错误,因为x
它具有全局范围。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Python 中的全局变量与局部变量
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Python 中的全局变量与局部变量