Python помогите мне
Реализовать класс и переопределить магические методы базовых математических операции (сложение, вычитание, умножение, деление), добавив туда выводы в консоль текущего действия.
Например: при умножении выводится сообщение, что происходит умножение.
class MathOperations:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
print("Performing addition")
return self.x + other.y
def __sub__(self, other):
print("Performing subtraction")
return self.x - other.y
def __mul__(self, other):
print("Performing multiplication")
return self.x * other.y
def __truediv__(self, other):
print("Performing division")
return self.x / other.y
# Example usage
a = MathOperations(10, 5)
b = MathOperations(5, 2)
print(a + b)
print(a - b)
print(a * b)
print(a / b)
результат:
Performing addition
15
Performing subtraction
5
Performing multiplication
50
Performing division
5.0
class MyMath:
def __init__(self, value):
self.value = value
def __add__(self, other):
print("Производится сложение")
return self.value + other.value
def __sub__(self, other):
print("Производится вычитание")
return self.value - other.value
def __mul__(self, other):
print("Производится умножение")
return self.value * other.value
def __truediv__(self, other):
print("Производится деление")
return self.value / other.value
Вы можете реализовать это с помощью переопределения магических методов __add__, "__sub__", "__mul__ " и "__truediv__" в вашем классе. Например:
class MyClass:
def __init__(self, value):
self.value = value
def __add__(self, other):
print("Происходит сложение")
return self.value + other.value
a = MyClass(10)
b = MyClass(20)
c = a + b
print(c)
Это выведет следующее:
Происходит сложение
30
Аналогично можно реализовать и остальные магические методы.
class MathOperations:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
print("Performing addition...")
return self.x + other.y
def __sub__(self, other):
print("Performing subtraction...")
return self.x - other.y
def __mul__(self, other):
print("Performing multiplication...")
return self.x * other.y
def __truediv__(self, other):
print("Performing division...")
return self.x / other.y
# Example usage
op1 = MathOperations(5, 10)
op2 = MathOperations(7, 3)
result1 = op1 + op2
print(result1) # Output: "Performing addition... 15"
result2 = op1 - op2
print(result2) # Output: "Performing subtraction... 2"
result3 = op1 * op2
print(result3) # Output: "Performing multiplication... 30"
result4 = op1 / op2
print(result4) # Output: "Performing division