Python Glossary English

все Python 3Встроенные функциипонятие

object

ООП

Базовый класс всех классов Python. Предоставляет методы по умолчанию: __str__, __repr__, __eq__, __hash__ и другие магические методы.

Синтаксис

object()

Голый object() — не универсальный контейнер для полей: у него нет __dict__, поэтому o.foo = 1 сразу падает с AttributeError; зато он идеален как уникальный маркер-заглушка, когда None — допустимое значение. Унаследованные по умолчанию __eq__ и __hash__ смотрят на тождество объекта: два одинаковых по смыслу экземпляра не равны, пока вы не определите __eq__ — а как только определите, класс перестаёт быть хешируемым, если не задать и __hash__.

Примеры

o = object()
print(type(o))  # → <class 'object'>
print(isinstance(42, object))  # → True
print(isinstance('hi', object))  # → True
class A(object): pass  # явно наследуется
print(A.__bases__)  # → (<class 'object'>,)
print(dir(object())[:2])  # → ['__class__', '__delattr__']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности