python - 为什么变量在赋值之前必须声明为全局变量?

标签 python python-3.x global-variables global

为什么我们必须这样做:

global x
x = "Hello World!"

当这更具可读性时:

global x = "Hello World"

这是为什么,有什么原因吗?

最佳答案

Python 的目标是尽可能的可读。为了达到这个目标,必须强制用户以明确定义的方式行动——例如您必须正好使用四个空格。就像这样,它定义了 global 关键字是一个简单的语句。这意味着:

A simple statement is comprised within a single logical line. Simple Statements

Programmer’s note: the global is a directive to the parser. It applies only to code parsed at the same time as the global statement. The global statement

如果你这样写:

global x = 5

你会有两个逻辑操作:

  1. 口译员请使用全局 x 而不是本地 x
  2. 将 5 赋值给 x

在一行中。此外,global 似乎仅适用于当前行,而不适用于整个代码块。

TL;TR

这是为了迫使用户编写可读性更好的代码,这些代码被拆分为单个逻辑操作。

关于python - 为什么变量在赋值之前必须声明为全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690361/

相关文章:

python - 为什么分配给我的全局变量在 Python 中不起作用?

python - 在 Python 的 NumPy 中创建数组时方括号和括号之间的区别

Python Pandas : exclude rows below a certain frequency count

python - Pandas "cut"基于其他列

python - 网页抓取 HTML 标签,包括所有链接内的标签

python - 将数组中的十六进制转换为二进制

python - Networkx 图形绘制节点权重

python - python 中的内部类方法与实例方法

python - UnboundLocalError 行为不直观的原因 2

MySQL 过程中的全局用户定义变量