types — nombres para los tipos integrados¶
Este módulo define nombres para algunos tipos de objetos que utiliza el intérprete estándar de Python pero que no se exponen como integrados (como el tipo de las funciones o de los generadores), junto con un pequeño número de auxiliares para la construcción dinámica de clases.
Esta es una adaptación a MicroPython de un subconjunto del módulo types de CPython. Varios alias de tipos que no tienen una representación útil en MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) se exponen como marcadores de posición None para que el código que solo los referencia siga importándose, pero no coincidirán con ningún objeto real mediante isinstance().
Disponibilidad: Este módulo forma parte de micropython-lib. Se incluye de forma predeterminada únicamente en la OpenMV N6 y la OpenMV AE3. En las demás OpenMV Cams se puede instalar con mip (o congelarse en un firmware personalizado); consulte Gestión de paquetes.
Alias de tipos¶
- types.FunctionType: type¶
El tipo de las funciones definidas por el usuario y de los objetos creados por sentencias
def.
- types.LambdaType: type¶
El tipo de las expresiones
lambda. Idéntico aFunctionType.
- types.GeneratorType: type¶
El tipo de los objetos generador-iterador producidos por las funciones generadoras.
- types.MethodType: type¶
El tipo de los métodos ligados de las instancias de clases definidas por el usuario.
- types.BuiltinFunctionType: type¶
El tipo de las funciones integradas como
len()ysys.exit().
- types.BuiltinMethodType: type¶
El tipo de los métodos ligados de los tipos integrados (por ejemplo
[].append). Idéntico aBuiltinFunctionType.
- types.CodeType: None¶
Marcador de posición para el tipo de objeto
codede CPython. Siempre esNoneen esta implementación.
- types.MappingProxyType: None¶
Marcador de posición para el tipo de proxy de mapeo de solo lectura que devuelve
type.__dict__en CPython. Siempre esNoneen esta implementación.
- types.SimpleNamespace: None¶
Marcador de posición para la clase
types.SimpleNamespacede CPython. Siempre esNoneen esta implementación.
- types.TracebackType: None¶
Marcador de posición para el tipo de los objetos de traza (traceback). Siempre es
Noneen esta implementación.
- types.FrameType: None¶
Marcador de posición para el tipo de los objetos de marco (frame). Siempre es
Noneen esta implementación.
Funciones¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Crea un objeto de clase dinámicamente de una forma que refleja la sentencia
classconforme a PEP 3115.name es el nombre de la nueva clase.
bases es una tupla de clases base.
kwds es un diccionario de argumentos de palabra clave que se pasan a la metaclase. Una clave
"metaclass", si está presente, selecciona la metaclase directamente.exec_body es un invocable opcional que se llamará con el espacio de nombres de la clase recién preparado; debe rellenarlo con los atributos de la nueva clase.
Devuelve la clase recién construida.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Calcula la metaclase apropiada y prepara el espacio de nombres para una nueva clase.
name es el nombre de la clase que se va a crear.
bases es una tupla de clases base.
kwds es un diccionario de argumentos de palabra clave. Una clave
"metaclass", si está presente, se elimina del kwds devuelto y se usa como metaclase. De lo contrario se usa la metaclase debases[0], recurriendo atype.
Devuelve una tupla de 3 elementos
(metaclass, namespace, kwds)donde namespace es el resultado de llamar ametaclass.__prepare__si está definido, o un diccionario vacío en caso contrario, y kwds es una copia de la entrada con cualquier entrada"metaclass"eliminada.