8.10. types – Имена встроенных типов¶types – Names for built-in types
Этот модуль определяет имена для некоторых типов объектов, которые используются стандартным интерпретатором Python, но не предоставлены как встроенные, в отличие от int или str. Кроме того, он не включает некоторые типы, которые возникают прозрачно в процессе обработки, например тип listiterator.
Обычно используется для проверок с помощью isinstance() или issubclass().
Модуль определяет следующие имена:
- types.FunctionType¶
- types.LambdaType¶
- Тип пользовательских функций и функций, созданных с помощью выражений lambda.
- 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.