Tags: 数据类型 AI 人工智能

Python global 关键字:正确使用全局变量

全局变量是在函数外部定义的变量,所有函数都能访问并使用它们。相对于局部变量只能在函数内部被访问,灵活度更高。

基本用法

在函数外部创建一个变量,并在函数内部使用该变量:

x = "hen bang"

def myfunc():
    print("Python shi " + x)

myfunc()

这里的 x 被视为全局变量,因此能在函数内直接调用。如果在函数内定义同名变量,则那个变量为局部变量,不会影响外部的全局变量。

同名局部变量

以下示例在函数内创建了和全局变量同名的变量,但只在函数内有效:

x = "hen bang"

def myfunc():
    x = "feichang bang"
    print("Python shi " + x)

myfunc()

print("Python shi " + x)

运行结果中,函数内部输出的是 feichang bang,函数外部输出的仍然是全局变量 x 原本的值。

global关键字

通常来说,在函数内部定义的变量只能在该函数内使用。然而,如果想在函数内部创建或修改全局变量,需要使用 global 关键字:

def myfunc():
    global x
    x = "feichang bang"

myfunc()

print("Python shi " + x)

这里使用 global x 声明后,x 成为了全局范围内的变量,即函数外部也能访问和更改它。

如果已存在同名全局变量,使用 global 也能在函数内部对其进行修改:

x = "hen bang"

def myfunc():
    global x
    x = "feichang bang"

myfunc()

print("Python shi " + x)

这样便成功改变了原本全局变量 x 的值。