types — nomi per i tipi predefiniti¶
Questo modulo definisce i nomi di alcuni tipi di oggetti che vengono utilizzati dall’interprete Python standard ma non sono esposti come builtin (come il tipo delle funzioni o dei generatori), insieme a un piccolo numero di helper per la costruzione dinamica di classi.
Questo è un port MicroPython di un sottoinsieme del modulo types di CPython. Diversi alias di tipo che non hanno una rappresentazione utile in MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) sono esposti come segnaposto None in modo che il codice che si limita a riferirli continui a importarli, ma non corrisponderanno ad alcun oggetto reale tramite isinstance().
Disponibilità: Questo modulo fa parte di micropython-lib. È incluso per impostazione predefinita solo su OpenMV N6 e OpenMV AE3. Sulle altre OpenMV Cam può essere installato con mip (oppure congelato in un firmware personalizzato); vedi Gestione dei pacchetti.
Alias di tipo¶
- types.FunctionType: type¶
Il tipo delle funzioni definite dall’utente e degli oggetti creati dalle istruzioni
def.
- types.LambdaType: type¶
Il tipo delle espressioni
lambda. Identico aFunctionType.
- types.GeneratorType: type¶
Il tipo degli oggetti generatore-iteratore prodotti dalle funzioni generatore.
- types.BuiltinFunctionType: type¶
Il tipo delle funzioni predefinite come
len()esys.exit().
- types.BuiltinMethodType: type¶
Il tipo dei metodi associati dei tipi predefiniti (ad esempio
[].append). Identico aBuiltinFunctionType.
- types.CodeType: None¶
Segnaposto per il tipo di oggetto
codedi CPython. In questa implementazione è sempreNone.
- types.MappingProxyType: None¶
Segnaposto per il tipo proxy di mapping in sola lettura restituito da
type.__dict__in CPython. In questa implementazione è sempreNone.
- types.SimpleNamespace: None¶
Segnaposto per la classe
types.SimpleNamespacedi CPython. In questa implementazione è sempreNone.
- types.TracebackType: None¶
Segnaposto per il tipo degli oggetti traceback. In questa implementazione è sempre
None.
- types.FrameType: None¶
Segnaposto per il tipo degli oggetti frame. In questa implementazione è sempre
None.
Funzioni¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Crea dinamicamente un oggetto classe in modo da rispecchiare l’istruzione
classconforme a PEP 3115.name è il nome della nuova classe.
bases è una tupla di classi base.
kwds è un dict di argomenti keyword da passare alla metaclasse. Una chiave
"metaclass", se presente, seleziona direttamente la metaclasse.exec_body è un callable opzionale che verrà invocato con lo spazio dei nomi della classe appena preparato; deve popolarlo con gli attributi della nuova classe.
Restituisce la classe appena costruita.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Calcola la metaclasse appropriata e prepara lo spazio dei nomi per una nuova classe.
name è il nome della classe che sta per essere creata.
bases è una tupla di classi base.
kwds è un dict di argomenti keyword. Una chiave
"metaclass", se presente, viene rimossa dai kwds restituiti e usata come metaclasse. Altrimenti viene usata la metaclasse dibases[0], con fallback sutype.
Restituisce una tupla a 3 elementi
(metaclass, namespace, kwds)dove namespace è il risultato della chiamata ametaclass.__prepare__se definita, oppure un dict vuoto in caso contrario, e kwds è una copia dell’input con qualsiasi voce"metaclass"rimossa.