首页 > 编程笔记 > Python笔记 阅读:9

Python局部变量和全局变量的区别(附带实例)

Python 程序中,全局变量是在函数之外创建的变量,可以从代码中的任意位置访问全局变量。

全局变量通常在程序开始时被定义,用于存储不同函数或模块之间共享的值。使用全局变量使我们在程序中修改变量的值变得更容易,而不需要把全局变量作为参数传递给函数。

例如:
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 是在函数体内部定义的,是一个局部变量,如果在函数体外部调用此变量,则会引发异常。运行程序,输出结果为:

函数体内: 这是一个函数体内的变量

随后,程序会抛出异常,无法继续执行。

相关文章