python - 为什么Python中可以在赋值前使用全局变量?

标签 python

为什么以下代码在 Python 中运行良好?

def show():
    print(a)
a = 1
show()

我想如果我们在赋值之前使用 show 函数 (a = 1), 应输出 a 的未定义错误。 然而,出乎我的意料,上面的代码运行良好......

最佳答案

只有在调用“show”函数后,“show”函数的内容才会运行。 您在为变量分配值(a=1)后调用“show”函数,这就是没有抛出错误的原因。

代码运行如下:

  1. 定义函数“show”但不运行其内容
  2. 将变量 a 的值设置为 1
  3. 调用函数“show”
  4. 打印变量 a 的值,即 1

关于python - 为什么Python中可以在赋值前使用全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68386981/

相关文章:

Python排列递归

python - 如何在Python中将一个矩阵复制到一个更大的矩阵?

python - 如何使用 Python 从 sqlite 数据库中提取选定的列

python - 数据库在 django 中多次存储数据

python - 导入错误:没有名为 'dlib' 的模块

python - Pandas :计算数据框中的唯一值

python - Eclipse 或 TextMate 中 Mako 的语法高亮显示?

javascript - Django 和使用模态窗口

python - 在 python 中利用 openstreetmap

python 2.7.9/pycharm 4/windows7 : 'file' object has no attribute 'readall'