@foonfyrick

Что значит фраза «пайтон, язык с самым полным ООП»?

Я услышал это на лекции, и там затронули язык пайтон, и сказали что у него самое полное ООП и что только там идет настоящая работа с объектом, что это значит? Почему у си подобных не полное ООП, что есть в пайтон, чего нет у других?
  • Вопрос задан
  • 319 просмотров
Пригласить эксперта
Ответы на вопрос 2
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Это ложное утверждение

Wiki
Дизайн языка Python построен вокруг объектно-ориентированной модели программирования. Реализация ООП в Python является хорошо продуманной, но вместе с тем достаточно специфической по сравнению с другими объектно-ориентированными языками. В языке всё является объектами — либо экземплярами классов, либо экземплярами метаклассов. Исключением является базовый встроенный метакласс type. Таким образом, классы на самом деле являются экземплярами метаклассов, а производные метаклассы являются экземплярами метакласса type. Метаклассы являются частью концепции метапрограммирования и предоставляют возможность управления наследованием классов, что позволяет создавать абстрактные классы, регистрировать классы или добавлять в них какой-либо программный интерфейс в рамках библиотеки или фреймворка[22].

Классы по своей сути представляют план или описание того, как создать объект, и хранят в себе описание атрибутов объекта и методов для работы с ним. Парадигма ООП основывается на инкапсуляции, наследовании и полиморфизме[80]. Инкапсуляция в Python представлена возможностью хранения публичных и скрытых атрибутов (полей) в объекте с предоставлением методов для работы с ними[80], при этом на самом деле все атрибуты являются публичными, но для пометки скрытых атрибутов существует соглашение об именовании[81]. Наследование позволяет создавать производные объекты без необходимости повторного написания кода, а полиморфизм заключается в возможности переопределения любых методов объекта (в Python все методы являются виртуальными[81]), а также в перегрузке методов и операторов. Перегрузка методов в Python реализуется за счёт возможности вызова одного и того же метода с разным набором аргументов[80]. Особенностью Python является возможность модифицировать классы после их объявления, добавляя в них новые атрибуты и методы[36], также можно модифицировать и сами объекты, в результате чего классы могут использоваться как структуры для хранения произвольных данных[81].

https://ru.wikipedia.org/wiki/Python
Ответ написан
Комментировать
loochanin
@loochanin
Графічний дизайнер пошановувач AI та автоматизації
А че сразу не спросил? Тормознул как всегда? Всегда первым делом вдумайся в понятия! Объект. Ориентировка. Програмрованние. Искать за тебя не буду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы