Ответ
В Python все классы, для которых явно не указан родитель, неявно наследуются от встроенного класса object
.
Класс object
является корнем иерархии классов и предоставляет базовую реализацию для всех объектов Python, включая стандартные "магические" методы, такие как __init__()
, __str__()
, __repr__()
и __hash__()
.
Это обеспечивает общую функциональность и единый интерфейс для всех объектов в языке.
Пример:
Следующие два определения класса функционально эквивалентны в Python 3:
# Неявное наследование от object
class MyClass:
pass
# Явное наследование от object
class MyExplicitClass(object):
pass
# Проверка подтверждает, что оба класса являются подклассами object
print(f"MyClass is subclass of object: {issubclass(MyClass, object)}")
print(f"MyExplicitClass is subclass of object: {issubclass(MyExplicitClass, object)}")
# Вывод:
# MyClass is subclass of object: True
# MyExplicitClass is subclass of object: True
Таким образом, object
— это универсальный прародитель всех классов в Python.