Вы не показываете классы, где вы могли бы использовать __init__
.Сначала вы должны написать функцию:
def parse_mixed_number(f):
coef, numden = f.split('+')
num, den = numden.split('/')
return int(coef), int(num), int(den)
coef1, num1, den1 = parse_mixed_number(f1)
coef2, num2, den2 = parse_mixed_number(f2)
Если вы хотите использовать классы, тогда parse_mixed_number должен быть вызван в __init__
:
from collections import namedtuple
class MixedNumber(namedtuple("MixedNumber", "coef,num,den")):
def __new__(cls, f):
coef, numden = f.split('+')
num, den = numden.split('/')
return tuple.__new__(cls, [int(coef), int(num), int(den)])