types — имена встроенных типов¶
Этот модуль определяет имена для некоторых типов объектов, которые используются стандартным интерпретатором Python, но не доступны как встроенные (например, тип функций или генераторов), вместе с небольшим набором вспомогательных средств для динамического создания классов.
Это порт на MicroPython подмножества модуля types из CPython. Несколько псевдонимов типов, не имеющих полезного представления в MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType), представлены как заглушки None, чтобы код, который лишь ссылается на них, продолжал импортироваться, однако они не будут совпадать ни с одним реальным объектом через isinstance().
Доступность: Этот модуль является частью micropython-lib. По умолчанию он включён только в OpenMV N6 и OpenMV AE3. На других OpenMV Cam его можно установить с помощью mip (или вшить в собственную прошивку); см. Управление пакетами.
Псевдонимы типов¶
- types.LambdaType: type¶
Тип выражений
lambda. ИдентиченFunctionType.
- types.BuiltinFunctionType: type¶
Тип встроенных функций, таких как
len()иsys.exit().
- types.BuiltinMethodType: type¶
Тип связанных методов встроенных типов (например,
[].append). ИдентиченBuiltinFunctionType.
- types.MappingProxyType: None¶
Заглушка для типа доступного только для чтения прокси-отображения, возвращаемого
type.__dict__в CPython. ВсегдаNoneв данной реализации.
- types.SimpleNamespace: None¶
Заглушка для класса
types.SimpleNamespaceиз CPython. ВсегдаNoneв данной реализации.
Функции¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Динамически создаёт объект класса способом, повторяющим инструкцию
class, совместимую с PEP 3115.name — имя нового класса.
bases — кортеж базовых классов.
kwds — словарь именованных аргументов, передаваемых метаклассу. Ключ
"metaclass", если он присутствует, напрямую задаёт метакласс.exec_body — необязательный вызываемый объект, который будет вызван с только что подготовленным пространством имён класса; он должен заполнить его атрибутами нового класса.
Возвращает только что созданный класс.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Вычисляет подходящий метакласс и подготавливает пространство имён для нового класса.
name — имя создаваемого класса.
bases — кортеж базовых классов.
kwds — словарь именованных аргументов. Ключ
"metaclass", если он присутствует, удаляется из возвращаемого kwds и используется в качестве метакласса. В противном случае используется метаклассbases[0], а при его отсутствии —type.
Возвращает кортеж из трёх элементов
(metaclass, namespace, kwds), где namespace — результат вызоваmetaclass.__prepare__, если он определён, либо пустой словарь в противном случае, а kwds — копия входного словаря с удалённой записью"metaclass"(если она была).