overloading 2

This commit is contained in:
Mert Gör ☭ 2023-07-28 16:55:10 +03:00
parent 103edfb801
commit 9519e32c12
No known key found for this signature in database
GPG Key ID: 2100A876D55B39B9
1 changed files with 36 additions and 0 deletions

View File

@ -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)