Исправление qulinxao3, (текущая версия) :
у питона классы прикрученны уже после кардинальной родовой травмы модулой-3 - могли пойти по пути внутрених модулей как в той же старой модуле для более полного(и более кривого на нюансах различий) соответсвия статическому ООП(где есть характерное для компилируемых языков тип с общей таблицей методов и pod содержащий индивидуальность объекта с последующим прикручиванием виртуальных таблиц и прочими химерами динамико0статики)
могли ваще отказаться от синтаксиса class
и всё варганить модулями-фабриками - создающие под заданный вызов def «конструктора» объект с соответствующим поведением - по сути метаклассы питона частично об этом
по сути в питоне class это как и def как и «модуль как таковой» - область видимости с некоторой пусковой(возможно пустой) частью и различием в резолве по время исполнения вызванного метода если не находим локально имя - как раз в питоне ещё выпуклее заметно что наследование намного более unsound на фоне полиморфизма и агрегации(инкапсюляция без сокрытия)
Исходная версия qulinxao3, :
у питона классы прикрученны уже после кардинальной родовой травмы модулой-3 - могли пойти по пути внутрених модулей как в той же старой модуле для более полного(и более кривого на нюансах различий) соответсвия статическому ООП(где есть характерное для компилируемых языков тип с общей таблицей методов и pod содержащий индивидуальность объекта с последующим прикручиванием виртуальных таблиц и прочими химерами динамико0статики)
могли ваще отказаться от синтаксиса class
и всё варганить модулями-фабриками - создающие под заданный вызов def «конструктора» объект с соответствующим поведением - по сути метаклассы питона частично об этом
по сути в питоне class это как и def как и «модуль как таковой» - область видимости с некоторой пусковой(возможно пустой) частью и различием в резолве по время вызова если не находим локально имя