考虑这个简单的例子:
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/