换句话说,为什么Python允许变量名与内置类型名称(如int、float、list等)相同?(相比之下,C++的内置类型名称都是保留的)。考虑以下示例。
# int = 1
i = 2
if type(i) == int:
print 'Is int'
else:
print 'Not int'
输出结果是"Is int"。然而,如果我取消注释第一行,输出将会是"Not int"。显然,我的"int"已经覆盖了内置类型int。在我看来,这是潜在的危险。
id
是函数中一个很好的本地名称。 - Martijn Pieters