type.__dictoffset__
Указывает смещение (в байтах) по которому обретается ссылка на __dict__ объекта.
Свойство доступно только для чтения.
Специфично для CPython:
На уровне CPython свойство соответствует слоту tp_dictoffset объекта PyTypeObject.
Ниже речь идёт об объектах PyTypeObject.
Положительное значение — смещение относительно начала объекта.
Отрицательное значение — смещение относительно конца объекта (используется для типов, содержащих некую переменную составляющую).
*0* означает, что тип не содержит атрибута __dict__.
Большинство встроенных типов имеют смещение 0. Однако же при наследовании __dict__ будет добавлен в наследуемый тип автоматически, смещение будет вычислено относительно базового типа.
Специфично для CPython:
На уровне CPython свойство соответствует слоту tp_dictoffset объекта PyTypeObject.
Ниже речь идёт об объектах PyTypeObject.
Положительное значение — смещение относительно начала объекта.
Отрицательное значение — смещение относительно конца объекта (используется для типов, содержащих некую переменную составляющую).
*0* означает, что тип не содержит атрибута __dict__.
class A(object): pass
class B(list): pass
class C(str): pass
object.__dictoffset__ # 0
list.__dictoffset__ # 0
str.__dictoffset__ # 0
A.__dictoffset__ # 16
B.__dictoffset__ # 40
C.__dictoffset__ # -8
Большинство встроенных типов имеют смещение 0. Однако же при наследовании __dict__ будет добавлен в наследуемый тип автоматически, смещение будет вычислено относительно базового типа.
Синонимы поиска: type.__dictoffset__, type, __dictoffset__
В разделе «type (тип)»:
basestring
Callable (вызываемый)
Container (контейнер)
Context Manager (менеджер контекста)
Descriptor (дескриптор)
Iterator (итератор)
Number (число)
object (объект)
type.__abstractmethods__
type.__base__
type.__bases__
type.__basicsize__
type.__dict__
type.__doc__
type.__flags__
type.__itemsize__
type.__module__
type.__mro__
type.mro
type.__name__
type.__sizeof__
unicode (юникод)
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.