Python类返回类型

我想知道是否有人可以帮助我。 如果我有一个具有属性的类,则有一种方法可以使该类的对象在被调用时自动返回该属性

class Constant():
def __init__(self,value):
    self.__value = value
PI = Constant(3.14)

是否可以通过任何方式返回3.14(作为实际的float而不是字符串),而无需显式定义__float__方法并调用float(PI)。我希望能够像print(PI*2)这样说些什么,并得到6.28作为我的输出

编辑: 我发现了自己想要的东西,通过使用__new__方法,我可以将实例的返回值更改为想要的任何值。

第二次编辑: 原来那没用。

duoduogo 回答:Python类返回类型

尝试子类化float

class Constant(float):
    def __init__(self,value):
        self.__value = value
PI = Constant(3.14)
print(PI*2)

输出:

6.28
,

尝试此操作以访问私有变量

class Constant():
    def __init__(self,value):
        self.__value = value

PI = Constant(3.14)
print(PI._Constant__value*2)

6.28
本文链接:https://www.f2er.com/3169381.html

大家都在问