types — namen voor ingebouwde typen¶
Deze module definieert namen voor enkele objecttypen die door de standaard Python-interpreter worden gebruikt maar niet als builtins beschikbaar zijn (zoals het type van functies of generatoren), samen met een klein aantal hulpfuncties voor dynamische klasseconstructie.
Dit is een MicroPython-port van een subset van de types-module van CPython. Verschillende type-aliassen die geen zinvolle representatie hebben in MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) worden als None-plaatshouders blootgesteld, zodat code die er alleen naar verwijst importeerbaar blijft, maar ze komen via isinstance() met geen enkel echt object overeen.
Beschikbaarheid: Deze module maakt deel uit van micropython-lib. Ze is alleen standaard meegeleverd op de OpenMV N6 en OpenMV AE3. Op de andere OpenMV Cams kan ze worden geïnstalleerd met mip (of worden ingevroren in een aangepaste firmware); zie Pakketbeheer.
Type-aliassen¶
- types.FunctionType: type¶
Het type van door de gebruiker gedefinieerde functies en van objecten die met
def-statements zijn gemaakt.
- types.LambdaType: type¶
Het type van
lambda-expressies. Identiek aanFunctionType.
- types.GeneratorType: type¶
Het type van generator-iteratorobjecten die door generatorfuncties worden geproduceerd.
- types.MethodType: type¶
Het type van gebonden methoden van door de gebruiker gedefinieerde klasse-instanties.
- types.BuiltinFunctionType: type¶
Het type van ingebouwde functies zoals
len()ensys.exit().
- types.BuiltinMethodType: type¶
Het type van gebonden methoden van ingebouwde typen (bijvoorbeeld
[].append). Identiek aanBuiltinFunctionType.
- types.CodeType: None¶
Plaatshouder voor het CPython
code-objecttype. AltijdNonein deze implementatie.
- types.MappingProxyType: None¶
Plaatshouder voor het alleen-lezen mapping-proxytype dat in CPython door
type.__dict__wordt teruggegeven. AltijdNonein deze implementatie.
- types.SimpleNamespace: None¶
Plaatshouder voor de CPython
types.SimpleNamespace-klasse. AltijdNonein deze implementatie.
- types.TracebackType: None¶
Plaatshouder voor het type van traceback-objecten. Altijd
Nonein deze implementatie.
- types.FrameType: None¶
Plaatshouder voor het type van frame-objecten. Altijd
Nonein deze implementatie.
Functies¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Maak dynamisch een klasse-object aan op een manier die het PEP 3115-conforme
class-statement weerspiegelt.name is de naam van de nieuwe klasse.
bases is een tuple van basisklassen.
kwds is een dict met sleutelwoordargumenten om aan de metaklasse door te geven. Een
"metaclass"-sleutel, indien aanwezig, selecteert de metaklasse rechtstreeks.exec_body is een optionele callable die wordt aangeroepen met de vers voorbereide klassenaamruimte; deze moet de naamruimte vullen met de attributen van de nieuwe klasse.
Geeft de nieuw geconstrueerde klasse terug.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Bereken de juiste metaklasse en bereid de naamruimte voor een nieuwe klasse voor.
name is de naam van de klasse die op het punt staat te worden aangemaakt.
bases is een tuple van basisklassen.
kwds is een dict met sleutelwoordargumenten. Een
"metaclass"-sleutel, indien aanwezig, wordt uit de teruggegeven kwds verwijderd en als metaklasse gebruikt. Anders wordt de metaklasse vanbases[0]gebruikt, met als terugvaltype.
Geeft een 3-tuple
(metaclass, namespace, kwds)terug, waarbij namespace het resultaat is van het aanroepen vanmetaclass.__prepare__indien gedefinieerd, of anders een lege dict, en kwds een kopie is van de invoer met een eventuele"metaclass"-vermelding verwijderd.