有什么方法可以覆盖 Python 的内置 class?
Is there any way to override Python's built-in class?
我正在尝试更改 python 的 int
class 的行为,但我不确定是否可以使用纯 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
您应该将最后一行替换为:
print(int(5) == int(6))
到 force/ask Python 以将新的 class 用于整数。
一年后我终于明白了我的疑惑。我在学习Python的时候,并没有接触到原始类型是什么概念。在学习了 C++ 之后,我意识到我实际上想知道是否可以用其他自定义类型替换原始类型。答案显然是否定的。
我正在尝试更改 python 的 int
class 的行为,但我不确定是否可以使用纯 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
您应该将最后一行替换为:
print(int(5) == int(6))
到 force/ask Python 以将新的 class 用于整数。
一年后我终于明白了我的疑惑。我在学习Python的时候,并没有接触到原始类型是什么概念。在学习了 C++ 之后,我意识到我实际上想知道是否可以用其他自定义类型替换原始类型。答案显然是否定的。