Мне было интересно, кто-нибудь может мне чем-нибудь помочь. Если у меня есть класс с атрибутом, есть ли способ автоматически заставить объект этого класса возвращать этот атрибут всякий раз, когда он называется
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__
, я могу изменитьвернуть значение из экземпляра во все, что я хочу.
2-е РЕДАКТИРОВАНИЕ: оказывается, это не сработало.