types — nume pentru tipurile încorporate¶
Acest modul definește nume pentru câteva tipuri de obiecte utilizate de interpretorul Python standard, dar care nu sunt expuse ca elemente încorporate (cum ar fi tipul funcțiilor sau al generatoarelor), împreună cu un număr restrâns de funcții ajutătoare pentru construirea dinamică a claselor.
Acesta este un port MicroPython al unui subset al modulului types din CPython. Câteva alias-uri de tip care nu au o reprezentare utilă în MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) sunt expuse ca substituenți None, astfel încât codul care doar le referențiază continuă să se poată importa, însă acestea nu vor corespunde niciunui obiect real prin isinstance().
Disponibilitate: Acest modul face parte din micropython-lib. Este inclus implicit doar pe OpenMV N6 și OpenMV AE3. Pe celelalte OpenMV Cam poate fi instalat cu mip (sau înghețat într-un firmware personalizat); consultați Gestionarea pachetelor.
Alias-uri de tip¶
- types.FunctionType: type¶
Tipul funcțiilor definite de utilizator și al obiectelor create prin instrucțiuni
def.
- types.LambdaType: type¶
Tipul expresiilor
lambda. Identic cuFunctionType.
- types.BuiltinFunctionType: type¶
Tipul funcțiilor încorporate, cum ar fi
len()șisys.exit().
- types.BuiltinMethodType: type¶
Tipul metodelor legate ale tipurilor încorporate (de exemplu
[].append). Identic cuBuiltinFunctionType.
- types.CodeType: None¶
Substituent pentru tipul de obiect
codedin CPython. ÎntotdeaunaNoneîn această implementare.
- types.MappingProxyType: None¶
Substituent pentru tipul de proxy de mapare doar-citire returnat de
type.__dict__în CPython. ÎntotdeaunaNoneîn această implementare.
- types.SimpleNamespace: None¶
Substituent pentru clasa
types.SimpleNamespacedin CPython. ÎntotdeaunaNoneîn această implementare.
- types.TracebackType: None¶
Substituent pentru tipul obiectelor traceback. Întotdeauna
Noneîn această implementare.
- types.FrameType: None¶
Substituent pentru tipul obiectelor frame. Întotdeauna
Noneîn această implementare.
Funcții¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Creează dinamic un obiect de clasă într-un mod care reflectă instrucțiunea
classconformă cu PEP 3115.name este numele noii clase.
bases este un tuplu de clase de bază.
kwds este un dicționar de argumente cu cuvinte-cheie care se transmit metaclasei. O cheie
"metaclass", dacă este prezentă, selectează direct metaclasa.exec_body este un apelabil opțional care va fi invocat cu spațiul de nume al clasei proaspăt pregătit; acesta ar trebui să îl populeze cu atributele noii clase.
Returnează clasa nou construită.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Calculează metaclasa adecvată și pregătește spațiul de nume pentru o nouă clasă.
name este numele clasei care urmează să fie creată.
bases este un tuplu de clase de bază.
kwds este un dicționar de argumente cu cuvinte-cheie. O cheie
"metaclass", dacă este prezentă, este eliminată din kwds-ul returnat și folosită ca metaclasă. În caz contrar se folosește metaclasa luibases[0], revenind latype.
Returnează un tuplu de 3 elemente
(metaclass, namespace, kwds), unde namespace este rezultatul apelăriimetaclass.__prepare__dacă este definită, sau un dicționar gol în caz contrar, iar kwds este o copie a intrării din care a fost eliminată orice intrare"metaclass".