Code: Alles auswählen
class Juice:
MING = 10
def __init__(self, a, b):
self.a = a
self.b = b
@property
def a(self):
return self.__a
@a.setter
def a(self, value):
if value < self.MING:
raise Exception(f"{value} is too low")
else:
self.__a = value
@property
def b(self):
return self._b
@b.setter
def b(self, value):
self._b = value
def __add__(self, other):
return self.a + other
def __radd__(self, other):
return self.a + other
def mix(self, other):
return (self.a + other) / 2
def adultjuice(self, alc):
return self.b, f"mit {alc} alc"
Code: Alles auswählen
print(apple.adultjuice("5%"))
('Apple', 'mit 5% alc')
ich möchte das ganze jetzt als Klassenmethode schreiben und meine Idee war
Code: Alles auswählen
@classmethod
def adultjuice(cls, alc):
return cls.b, f"mit {alc} alc"
(<property object at 0x0000026F1FC2F548>, 'mit 5% alc')
ich hätte aber gern den wert von b, der sollte "apple" sein.
muss ich statt cls.b etwas anderes dort einsetzen oder ist mein Ansatz ganz falsch?