Документация Python неофициальный перевод

8.10. types – Имена встроенных типовtypes – Names for built-in types

Этот модуль определяет имена для некоторых типов объектов, которые используются стандартным интерпретатором Python, но не предоставлены как встроенные, в отличие от int или str. Кроме того, он не включает некоторые типы, которые возникают прозрачно в процессе обработки, например тип listiterator.

Обычно используется для проверок с помощью isinstance() или issubclass().

Модуль определяет следующие имена:

types.FunctionType
types.LambdaType
Тип пользовательских функций и функций, созданных с помощью выражений lambda.
types.GeneratorType
Тип объектов-итераторов generator, создаваемых вызовом генераторной функции.
types.CodeType

Тип объектов кода, таких как возвращаемые compile().

types.MethodType
Тип методов экземпляров пользовательских классов.
types.BuiltinFunctionType
types.BuiltinMethodType
Тип встроенных функций, таких как len() или sys.exit(), и методов встроенных классов. (Здесь термин «встроенный» означает «написанный на C».)
types.ModuleType
Тип модулей.
types.TracebackType
Тип объектов traceback, таких как sys.exc_info()[2].
types.FrameType
Тип объектов фреймов, таких как tb.tb_frame, если tb является объектом traceback.
types.GetSetDescriptorType
Тип объектов, определённых в расширениях модулей с помощью PyGetSetDef, таких как FrameType.f_locals или array.array.typecode. Этот тип используется как дескриптор для атрибутов объектов; он выполняет ту же функцию, что и тип property, но для классов, определённых в расширениях.
types.MemberDescriptorType

Тип объектов, определённых в расширениях модулей с помощью PyMemberDef, таких как datetime.timedelta.days. Этот тип используется как дескриптор для простых C-членов, которые используют стандартные функции преобразования; он выполняет ту же функцию, что и тип property, но для классов, определённых в расширениях.

Особенности реализации CPython: В других реализациях Python этот тип может быть идентичен GetSetDescriptorType.