如何在Python中声明全局变量?

如何在Python中声明全局变量?

什么是全局变量?

全局变量是在函数外部声明的变量,但我们需要在函数内部使用它。

示例

def func():
   print(a)
a=10
func()

输出

10

在此例中,变量a是全局的。因为它在函数外部声明,并且也可以在函数内部使用。因此,变量a的范围是全局的。

我们将看到如果我们在函数内部创建同名的全局变量会发生什么。

在上述示例中,变量a在函数外部声明,因此为全局变量。

如果我们在函数内部声明另一个同名变量,其值为其他值。那么该变量将作为函数的局部变量,其作用范围将仅限于函数内部。在函数外部,全局变量将保持其原始值。

可以通过以下示例更好地理解。

示例

a=10
def func():
   a=5
print("Inside function:",a)
func()
print("Outside function:",a)

输出

Inside function: 5
Outside function: 10

在上述示例中,a是全局变量,其值为10。随后调用func()。

在func()中,声明了另一个具有不同值的变量a,其作用范围仅限于函数内部。因此,稍后在函数外部打印a的值时,它将保持原始全局变量的相同值10。

关键字:global

关键字global用于在函数内部声明全局变量时使用。

在函数内部声明的普通变量的作用范围仅限于函数的末尾。

但是,如果您还想在函数外部使用变量,请在声明变量时使用global关键字。

使用示例实现了解两者之间的区别。

示例

def func():
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

输出

Inside function: 5
Traceback (most recent call last):
print("Outside function:",a)
NameError: name 'a' is not defined

在上述示例中,由于a是局部变量,因此无法在函数外部访问其值。因此,访问超出函数的值将引发异常。

使用global关键字

在上述示例中引发的异常可以通过使用关键字global来声明变量a来解决。

示例

def func():
   global a
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

输出

Inside function: 5Outside function: 5

在上述示例中,变量a是全局的,因此其值也可以在函数外部访问。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程