Python局部变量和全局变量的区别(附带实例)
在 Python 程序中,全局变量是在函数之外创建的变量,可以从代码中的任意位置访问全局变量。
全局变量通常在程序开始时被定义,用于存储不同函数或模块之间共享的值。使用全局变量使我们在程序中修改变量的值变得更容易,而不需要把全局变量作为参数传递给函数。
例如:
如果要在函数体内定义全局变量,则需使用 global 关键字来指示变量是全局的。例如:
和全局变量相对的,在函数体内部定义的变量称为局部变量。局部变量的作用域仅为函数内部。
例如:
全局变量通常在程序开始时被定义,用于存储不同函数或模块之间共享的值。使用全局变量使我们在程序中修改变量的值变得更容易,而不需要把全局变量作为参数传递给函数。
例如:
name = '这是一个函数体外的变量' # 定义变量 def student(): # 定义函数 print('函数体内:', name) # 在函数内打印变量 student() # 调用函数 print('函数体外:', name) # 在函数外打印变量name 就是一个全局变量。运行结果为:
函数体内: 这是一个函数体外的变量
函数体外: 这是一个函数体外的变量
如果要在函数体内定义全局变量,则需使用 global 关键字来指示变量是全局的。例如:
def student(): # 定义函数 global name name = '这是一个函数体内的变量' # 使用global关键字声明变量 print('函数体内:', name) student() # 调用函数 print('函数体外:', name) # 打印函数体外的变量变量 name 由 global 键字修饰后,变为了全局变量。运行结果为:
函数体内: 这是一个函数体内的变量
函数体外: 这是一个函数体内的变量
和全局变量相对的,在函数体内部定义的变量称为局部变量。局部变量的作用域仅为函数内部。
例如:
def student(): # 定义函数 name = '这是一个函数体内的变量' # 定义局部变量 print('函数体内:', name) # 打印局部变量 student() # 调用函数 print('函数体外:', name) # 尝试打印局部变量变量 name 是在函数体内部定义的,是一个局部变量,如果在函数体外部调用此变量,则会引发异常。运行程序,输出结果为:
函数体内: 这是一个函数体内的变量
随后,程序会抛出异常,无法继续执行。