Python Global 关键字

在 Python 中,global 关键字允许我们修改当前作用域之外的变量。

它用于创建一个全局变量并在局部上下文中修改该变量。

在学习 global 关键字之前,请确保你已经掌握了 Python 变量作用域 的一些基础知识。


访问和修改 Python 全局变量

首先,我们尝试从 函数 内部访问全局变量,

c = 1 # global variable

def add():
    print(c)

add()

# Output: 1

在这里,我们可以看到我们已经从函数内部访问了一个全局变量。

然而,如果我们在函数内部尝试修改全局变量,例如:

# global variable
c = 1 

def add():

     # increment c by 2
    c = c + 2

    print(c)

add()

输出

UnboundLocalError: local variable 'c' referenced before assignment

这是因为我们只能从函数内部访问全局变量,但不能修改它。

解决方案是使用 global 关键字。


示例:使用 global 在函数内部更改全局变量

# global variable
c = 1 

def add():

    # use of global keyword
    global c

    # increment c by 2
    c = c + 2 

    print(c)

add()

# Output: 3 

在上面的例子中,我们在 add() 内部将 c 定义为 global 关键字。

然后,我们将变量 c 增加了 2,即 c = c + 2

正如我们所看到的,在调用 add() 时,全局变量 c 的值从 1 修改为 3


global 关键字的规则

Python 中 global 关键字的基本规则是:

  • 当我们在函数内部创建一个变量时,它默认是局部变量。
  • 当我们在函数外部定义一个变量时,它默认是全局变量。你不必使用 global 关键字。
  • 我们使用 global 关键字来修改(写入)函数内部的全局变量。
  • 在函数外部使用 global 关键字没有效果。

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战