«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Загадка наследства класса Python: зачем нам наследовать от «объекта»?

Загадка наследства класса Python: зачем нам наследовать от «объекта»?

Опубликовано в 2025-04-30
Просматривать:225

Why Inherit from `object` in Python: A Class Inheritance Question

Понимание наследства класса Python

В Python классы могут наследовать от других классов, которые предоставляют им доступ к атрибутам родителей и методам. Тем не менее, одна особенность, которая часто возникает, заключается в том, почему классы объявляются наследовать от класса объекта.

почему наследуют от объекта (Python 2.x против Python 3.x)

в Python 2.x, классовые декларации без explicit parent class известны как «классические классы». Эти классы не наследуют от объекта и имеют ряд ограничений по сравнению с «новыми» классами стилей, которые явно наследуют от объекта:

  • отсутствие поддержки дескриптора: , такие как ClassMethod, Staticmethod, и декорации свойств. __new__ Метод, который позволяет создавать создание экземпляров, недоступен в классических классах.
  • Порядок разрешения методов: , в котором родители ищут методы, могут быть непредсказуемыми в классических классах. Классы.
  • в Python 3.x, различие между классическими и новыми классами стиля устраняется. Все классы считаются новыми классами стиля и неявно наследуют от объекта без необходимости явного объявления.
  • Должны ли вы наследовать от объекта в Python 3? Тем не менее, по причинам совместимости рекомендуется унаследовать от объекта при написании кода, который может потребоваться работать в Python 2.x и Python 3.x. ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3