### Идея такова:
### создается объект класса Num2nums
### его свойству value устанавливается числовое значение
### методы summa и multi складывают и умножают цифры числа
### при этом используют скрытые методы _sum и _mult
### методы __add__ и __mul__ позволяют участвовать объектам в операциях сложения и умножения
class Num2nums():
def _sum (a):
b = 0
while a > 0:
b = b + a % 10
a = a // 10
return b
def _mult (a):
b = 1
while a > 0:
b = b * (a % 10)
a = a // 10
return b
def __init__ (self, value = 0):
self.value = value
def summa (self): # сумма цифр значения свойства obj.value
return Num2nums._sum (self.value)
def multi (self): # произведение цифр значения свойства obj.value
return Num2nums._mult (self.value)
def __add__ (self, other): # операция сложения двух объектов
a = Num2nums._sum(self.value)
b = Num2nums._sum(other.value)
return a + b # сумма их цифр
def __mul__(self, other): # операция умножения двух объектов
a = Num2nums._mult(self.value)
b = Num2nums._mult(other.value)
return a * b # произведение их цифр
x = Num2nums (457)
print("Первое число:", x.value)
print("Сумма цифр:", x.summa())
print("Произведение цифр:", x.multi(),"\n")
y = Num2nums (321)
print("Второе число:", y.value)
print("Сумма цифр:", y.summa())
print("Произведение цифр:", y.multi(),"\n")
print("Сумма цифр обоих чисел:", x + y)
print("Произведение цифр обоих чисел:", x * y)
Результат выполнения скрипта:
Первое число: 457
Сумма цифр: 16
Произведение цифр: 140
Второе число: 321
Сумма цифр: 6
Произведение цифр: 6
Сумма цифр обоих чисел: 22
Произведение цифр обоих чисел: 840