为什么python允许我创建带有保留关键字的变量?

时间:2019-04-13 16:28:17

标签: python variables python-3.6

我运行了这段代码,便能够将值分配给保留关键字。为什么python为什么允许对保留关键字的赋值语句,或者我做错了什么?

屏幕截图 https://imgur.com/a/l2yoSoh

int = 7 打印(int) 7 :

int(int)

错误


TypeError跟踪(最近一次通话)  在()中 ----> 1个int(int)

TypeError:“ int”对象不可调用

3 个答案:

答案 0 :(得分:5)

int不是保留关键字,它只是内置函数的名称。

答案 1 :(得分:0)

保留关键字内置实例之间是有区别的。

诸如intstrfloat之类的建筑实际上只是常用的类。可以重新分配/覆盖类,这正是您通过编写int = 7所做的事情。

诸如asifwhile之类的关键字是非常特殊的标识符。这些不能被覆盖。如果您尝试写as = 10,则会得到SyntaxError


这是导致错误的原因:首先,您给int赋予了值7。这是完全合法的,因为可以重新分配内建函数。完成此操作后,键入int(int)就像键入7(7)7不能像函数一样调用,因此会导致TypeError

答案 2 :(得分:0)

如果使用像pyCharm这样的IDE,则如果您的变量之一与内置变量或关键字共享名称,则会发出警告。