gpt4 book ai didi

python - 扩展 python 内置类 : float

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:01 25 4
gpt4 key购买 nike

我想改变

float.__str__ 

内置float类型的函数(python 2)

我试图扩展这个类。

class SuperFloat(float):
def __str__(self):
return 'I am' + self.__repr__()

但是,当我添加它时,它变成了一个普通的 float

egg = SuperFloat(5)
type(egg+egg)

返回 float

我的终极目标也是如此

egg += 5

保持 super float

最佳答案

您需要覆盖类型上的“魔术方法”:__add____sub__ 等。参见here有关这些方法的列表。 unutbu 的回答显示了如何为 __add____radd__ 执行此操作,但是如果您希望您的子类可替换中的内置类型,则还需要覆盖更多内容任何情况。 This page有一些关于如何使其中一些工作更容易的建议。

关于python - 扩展 python 内置类 : float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25022079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com