types — nomes para tipos embutidos

Este módulo define nomes para alguns tipos de objetos que são usados pelo interpretador Python padrão, mas que não são expostos como builtins (como o tipo de funções ou geradores), juntamente com um pequeno número de auxiliares para a construção dinâmica de classes.

Esta é uma port para MicroPython de um subconjunto do módulo types do CPython. Vários aliases de tipo que não têm representação útil no MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) são expostos como placeholders None, de modo que código que apenas os referencia continue importando, mas eles não corresponderão a nenhum objeto real via isinstance().

Disponibilidade: Este módulo faz parte da micropython-lib. Ele é incluído por padrão apenas na OpenMV N6 e na OpenMV AE3. Nas outras OpenMV Cams ele pode ser instalado com mip (ou congelado em um firmware personalizado); consulte Gerenciamento de pacotes.

Aliases de tipo

types.FunctionType: type

O tipo de funções definidas pelo usuário e de objetos criados por instruções def.

types.LambdaType: type

O tipo de expressões lambda. Idêntico a FunctionType.

types.GeneratorType: type

O tipo de objetos gerador-iterador produzidos por funções geradoras.

types.MethodType: type

O tipo de métodos vinculados de instâncias de classes definidas pelo usuário.

types.BuiltinFunctionType: type

O tipo de funções embutidas como len() e sys.exit().

types.BuiltinMethodType: type

O tipo de métodos vinculados de tipos embutidos (por exemplo, [].append). Idêntico a BuiltinFunctionType.

types.ModuleType: type

O tipo de módulos importados.

types.CodeType: None

Placeholder para o tipo de objeto code do CPython. Sempre None nesta implementação.

types.MappingProxyType: None

Placeholder para o tipo de proxy de mapeamento somente leitura retornado por type.__dict__ no CPython. Sempre None nesta implementação.

types.SimpleNamespace: None

Placeholder para a classe types.SimpleNamespace do CPython. Sempre None nesta implementação.

types.TracebackType: None

Placeholder para o tipo de objetos de traceback. Sempre None nesta implementação.

types.FrameType: None

Placeholder para o tipo de objetos de frame. Sempre None nesta implementação.

types.GetSetDescriptorType: None

Placeholder para o tipo de descritores de atributo definidos por tipos de extensão. Sempre None nesta implementação.

types.MemberDescriptorType: None

Placeholder para o tipo de descritores de slot definidos por tipos de extensão. Sempre None nesta implementação.

Funções

types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type

Cria um objeto de classe dinamicamente de uma forma que espelha a instrução class compatível com a PEP 3115.

  • name é o nome da nova classe.

  • bases é uma tupla de classes base.

  • kwds é um dict de argumentos nomeados a serem passados para a metaclasse. Uma chave "metaclass", se presente, seleciona a metaclasse diretamente.

  • exec_body é um callable opcional que será invocado com o namespace de classe recém-preparado; ele deve preenchê-lo com os atributos da nova classe.

Retorna a classe recém-construída.

types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]

Calcula a metaclasse apropriada e prepara o namespace para uma nova classe.

  • name é o nome da classe que está prestes a ser criada.

  • bases é uma tupla de classes base.

  • kwds é um dict de argumentos nomeados. Uma chave "metaclass", se presente, é removida dos kwds retornados e usada como a metaclasse. Caso contrário, a metaclasse de bases[0] é usada, recorrendo a type.

Retorna uma tupla de 3 elementos (metaclass, namespace, kwds) onde namespace é o resultado da chamada de metaclass.__prepare__ se definido, ou um dict vazio caso contrário, e kwds é uma cópia da entrada com qualquer entrada "metaclass" removida.