ganstar565, Как и подсказали выше нужно учить с основ питон.
Если нужно найти пересечение массивов, и нет необходимости точного порядка, то можно использовать множества и операции над ним.
Максим Припадчев, если душнить то душнить до конца, или не душнить вовсе.
В питоне есть модуль dataclasses и декоратор dataclass. который в сущности делает, ровно тоже что и описали вы, но при этом в документации говорится, что возвращает класс обогащенный методами.
Я нигде не встречал, что б в питоне при использование декораторов, начинали говорить что они меняют свой тип. Хотя так оно и есть.
А там где рассматривают что мерняется тип, то уже рассматривают всю цепочку вызовов целиком, а не только последние 3
Максим Припадчев, MyClass = decor(MyClass) - в данной строчке, мы просто декорируем класс, никакого экземпляра тут не появляется, это тоже самое, что и повесить декоратор над классом.
Максим Припадчев, да и если не докапываться. класс остался классом, то что на него навешали декоратор, не отменяет факта, что он остался классом.
а если докапываться, то почти все будет являться объектом.
работает точно также как и обычное декорирование, ибо @decor есть тоже самое что decor(_class)
ну и чудес не бывает, все для чего то но нужно как правило.
Ну и что б понятно учится надо учится, не по статьям, а по учебникам
объект времени start_time = dt.time(9, 0) - всегда будет иметь секунды, и если ему всегда не задавать форматирование при печати, будет печатать с секундами.
В своем формате в строку вы переводе только в двух случаях, вот они и как вы хотите и выглядит.
А при использование форматирования строк, любой тип будет приводится к строке автоматически