overloading 2
This commit is contained in:
parent
103edfb801
commit
9519e32c12
|
@ -0,0 +1,36 @@
|
|||
class Number:
|
||||
def __init__(self, number):
|
||||
self.number = number
|
||||
|
||||
def __add__(self, x):
|
||||
if isinstance(x, (int, float)):
|
||||
return Number(self.number + x)
|
||||
return Number(self.number + x.number)
|
||||
|
||||
def __sub__(self, x):
|
||||
if type(x) is int or type(x) is float:
|
||||
return Number(self.number - x)
|
||||
return Number(self.number - x.number)
|
||||
|
||||
def __mul__(self, x):
|
||||
if isinstance(x, (int, float)):
|
||||
return Number(self.number * x)
|
||||
return Number(self.number * x.number)
|
||||
|
||||
def __truediv__(self, x):
|
||||
if isinstance(x, (int, float)):
|
||||
return Number(self.number / x)
|
||||
return Number(self.number / x.number)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.number)
|
||||
|
||||
|
||||
x = Number(10)
|
||||
y = Number(20)
|
||||
|
||||
z = x + y
|
||||
print(z)
|
||||
|
||||
z = x + 10
|
||||
print(z)
|
Loading…
Reference in New Issue