python - 为什么 python 不引发 NameError

标签 python python-2.7

考虑这个简单的例子:

i = 10
if i != id:
    print i

由于 id 未在此处定义,所以我假设得到 NameError: name 'id' is not defined 但它没有引发任何错误。

但在这种情况下:

id = 10
if i != id:
    print i

它实际上为 i 引发了一个 NameError 异常。那么任何人都可以向我解释这种行为吗?

最佳答案

id 是一个内置函数,所以它实际上是被定义的。为您的变量使用另一个名称。

这是所有 built-in functions 的列表.

关于python - 为什么 python 不引发 NameError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18489497/

相关文章:

Python通过python生成xml文件

python - 简单的 Yahtzee 模拟没有给出正确的结果?

python - Django 使用整数字段作为外键字段

python - QCheckbox 检查所有其他 QCheckBoxes

python - 在数据框的整个列中应用正则表达式

基于公共(public)键合并 2 个字典列表的 Pythonic 方法

python-2.7 - 使用python查找数据框中序列重复的次数

python - Ubuntu 14 中 pip 安装的软件包的配置文件在哪里?

python - 如何从较大的数组创建一个新的较小的数组,并取旧数组元素的平均值?

python - 返回 StringIO 对象