types — namn för inbyggda typer¶
Denna modul definierar namn för vissa objekttyper som används av den vanliga Python-tolken men som inte exponeras som inbyggda funktioner (såsom typen för funktioner eller generatorer), tillsammans med ett litet antal hjälpfunktioner för dynamisk klasskonstruktion.
Detta är en MicroPython-port av en delmängd av CPythons types-modul. Flera typalias som inte har någon användbar representation i MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) exponeras som None-platshållare så att kod som endast refererar till dem fortsätter att kunna importeras, men de matchar inget verkligt objekt via isinstance().
Tillgänglighet: Denna modul är en del av micropython-lib. Den ingår som standard endast på OpenMV N6 och OpenMV AE3. På övriga OpenMV Cams kan den installeras med mip (eller frysas in i en anpassad fast programvara); se Pakethantering.
Typalias¶
- types.FunctionType: type¶
Typen för användardefinierade funktioner och för objekt som skapas av
def-satser.
- types.LambdaType: type¶
Typen för
lambda-uttryck. Identisk medFunctionType.
- types.GeneratorType: type¶
Typen för de generator-iterator-objekt som produceras av generatorfunktioner.
- types.BuiltinFunctionType: type¶
Typen för inbyggda funktioner såsom
len()ochsys.exit().
- types.BuiltinMethodType: type¶
Typen för bundna metoder hos inbyggda typer (till exempel
[].append). Identisk medBuiltinFunctionType.
- types.MappingProxyType: None¶
Platshållare för den skrivskyddade mappningsproxytypen som returneras av
type.__dict__i CPython. AlltidNonei denna implementation.
- types.SimpleNamespace: None¶
Platshållare för CPythons
types.SimpleNamespace-klass. AlltidNonei denna implementation.
- types.TracebackType: None¶
Platshållare för typen av traceback-objekt. Alltid
Nonei denna implementation.
Funktioner¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Skapa ett klassobjekt dynamiskt på ett sätt som speglar den PEP 3115-kompatibla
class-satsen.name är namnet på den nya klassen.
bases är en tuppel av basklasser.
kwds är en dict med nyckelordsargument som skickas till metaklassen. En
"metaclass"-nyckel, om den finns, väljer metaklassen direkt.exec_body är ett valfritt anropbart objekt som anropas med det nyligen förberedda klassnamnrymden; det ska fylla den med den nya klassens attribut.
Returnerar den nykonstruerade klassen.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Beräkna lämplig metaklass och förbered namnrymden för en ny klass.
name är namnet på den klass som ska skapas.
bases är en tuppel av basklasser.
kwds är en dict med nyckelordsargument. En
"metaclass"-nyckel, om den finns, tas bort från de returnerade kwds och används som metaklass. Annars används metaklassen förbases[0], med återgång tilltype.
Returnerar en 3-tuppel
(metaclass, namespace, kwds)där namespace är resultatet av att anropametaclass.__prepare__om det är definierat, eller annars en tom dict, och kwds är en kopia av indata med eventuell"metaclass"-post borttagen.