为什么python不会引发NameError

时间:2013-08-28 13:35:46

标签: 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

它实际上为NameError引发了i例外。那么有人可以向我解释这种行为吗?

1 个答案:

答案 0 :(得分:4)

id是一个内置函数,因此它实际上是定义的。为变量使用其他名称。

以下是所有built-in functions

的列表