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 aFunctionType.
- 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()esys.exit().
- types.BuiltinMethodType: type¶
O tipo de métodos vinculados de tipos embutidos (por exemplo,
[].append). Idêntico aBuiltinFunctionType.
- types.CodeType: None¶
Placeholder para o tipo de objeto
codedo CPython. SempreNonenesta implementação.
- types.MappingProxyType: None¶
Placeholder para o tipo de proxy de mapeamento somente leitura retornado por
type.__dict__no CPython. SempreNonenesta implementação.
- types.SimpleNamespace: None¶
Placeholder para a classe
types.SimpleNamespacedo CPython. SempreNonenesta implementação.
- types.TracebackType: None¶
Placeholder para o tipo de objetos de traceback. Sempre
Nonenesta implementação.
- types.FrameType: None¶
Placeholder para o tipo de objetos de frame. Sempre
Nonenesta 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
classcompatí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 debases[0]é usada, recorrendo atype.
Retorna uma tupla de 3 elementos
(metaclass, namespace, kwds)onde namespace é o resultado da chamada demetaclass.__prepare__se definido, ou um dict vazio caso contrário, e kwds é uma cópia da entrada com qualquer entrada"metaclass"removida.