Раньше я делала то, что знала, как сделать. Теперь я знаю больше и делаю лучше (Майя Энджелоу). Рассмотрим, способы и цели применения именованных кортежей в Python: from collections import namedtuple
Model = namedtuple('complex_model', ['name', 'columns', 'model']) При создании класса в качестве первого аргумента передается имя, которое используется в __repr__ при отображении объекта в консоли, а - второго имена свойств. Затем экземпляры создаются путем перечисления значений свойств: from sklearn.tree import DecisionTreeRegressor
from sklearn.linear_model import LinearRegression
model1 = Model('tree', ['col1', 'col2'], DecisionTreeRegressor())
model2 = Model('linear', ['col1', 'col3'], LinearRegression())
display(model1)
display(model2) Отмечу, что перечисление свойств при создании нового класса namedtuple можно сделать в строке через пробел (а не в списке, как выше): ModelAlt = namedtuple('complex_model_alt', 'name columns model')
model3 = ModelAlt('tree', ['col1', 'col2'], Decision