欢迎访问宙启技术站
智能推送

如何在Python中定义全局变量和局部变量?

发布时间:2023-06-22 22:59:49

Python中的全局变量和局部变量都是通过变量定义进行创建的。两者之间的主要区别是它们的作用域和生命周期不同。

全局变量

定义:在函数外部定义,可以在程序中的任何位置进行访问。

语法:

global variable_name
variable_name = value

其中,global关键字是用来指示变量是全局变量,而不是局部变量。变量名可以是任何合法的标识符,变量的值可以是任何Python中有效的数据类型,例如数值,字符串或列表等。一旦定义,全局变量可以在程序的任何位置进行访问。

例如:

>>> globalVar = "This is a global variable"
>>>
>>> def printGlobal():
...    print(globalVar)
...
>>> printGlobal()
This is a global variable

在这个例子中,我们定义了一个globalVar变量,它是一个全局变量。printGlobal()函数可以在任何地方被调用,并且会打印出全局变量的值。

局部变量

定义:在函数内部定义,只能在函数内部进行访问。

语法:

variable_name = value

和全局变量相比,局部变量的作用域和生命周期要小得多。它们只存在于定义它们的函数内部,并且在函数结束时销毁。

例如:

>>> def printLocal():
...    localVar = "This is a local variable"
...    print(localVar)
...
>>> printLocal()
This is a local variable
>>> print(localVar)
NameError: name 'localVar' is not defined

在这个例子中,我们定义了一个局部变量localVar,它只存在于printLocal()函数内部。在函数结束后,该变量被销毁。如果我们尝试在函数外部访问localVar变量,Python会抛出一个NameError异常。

在Python中,我们可以在任何函数中定义变量,它们可以是全局变量或局部变量。如果名称已经定义为全局变量,则可以通过在函数内使用global关键字来引用它。否则,Python会认为这个名称是一个局部变量,并且不会在函数外部使用。

举例:

>>> globalVar = "This is a global variable"
>>>
>>> def printVariables():
...     localVar = "This is a local variable"
...     print(localVar)
...     print(globalVar)
...
>>> printVariables()
This is a local variable
This is a global variable

在这个例子中,我们定义了一个全局变量globalVar和一个局部变量localVarprintVariables()函数在定义时使用了两个变量,并在函数内部进行了打印。这个函数的输出是:

This is a local variable
This is a global variable

这个例子演示了如何在函数中定义局部变量和使用全局变量。