I want to run this code (must) including the attribute value
next to total
in the print
section. What code should I insert inside the class to do it?
class Random:
def __init__(self, x):
self.x = x
def __add__(self, other):
return self.x other.x
p1 = Random(2)
p2 = Random(3)
total = p1 p2
print(total.value)
CodePudding user response:
Return an instance of Random
in your __add__
method and add a property with the name value
for the class.
class Random:
def __init__(self, x):
self.x = x
def __add__(self, other):
return Random(self.x other.x)
@property
def value(self):
return self.x
p1 = Random(2)
p2 = Random(3)
total = p1 p2
print(total.value)
Of course the better option would be to replace the instance attribute x
with value
. Then there's no need for the property.
class Random:
def __init__(self, x):
self.value = x
def __add__(self, other):
return Random(self.value other.value)
CodePudding user response:
Make total
a Random
as well.
class Random:
def __init__(self, value):
self.value = value
def __add__(self, other):
return Random(self.value other.value)
p1: Random = Random(2)
p2: Random = Random(3)
total: Random = p1 p2
print(total.value)