【发布时间】:2017-05-26 15:13:21
【问题描述】:
我正在尝试更改 python 的 int 类的行为,但我不确定是否可以使用纯 python 来完成。到目前为止,这是我尝试过的:
import builtins
class int_new(builtins.int):
def __eq__(self, other):
return True
int = int_new
print(5 == 6) # the result is False, but I'm anticipating True
【问题讨论】:
-
Override int()的可能重复
-
如果不重新编译 Python 完全不可能 - 从数字文字创建
int对象的级别远低于您可以覆盖的级别。此外,在您的程序开始运行之前,5 和 6(以及数百个其他数字)已经被创建为缓存的 int 对象。 -
我很好奇您为什么需要这样做?你的用例是什么?
标签: python python-3.6