types — názvy vestavěných typů¶
Tento modul definuje názvy některých typů objektů, které používá standardní interpret Pythonu, ale nejsou vystaveny jako vestavěné funkce (například typ funkcí nebo generátorů), spolu s několika málo pomocníky pro dynamickou konstrukci tříd.
Toto je MicroPython port podmnožiny modulu types z CPythonu. Některé typové aliasy, které nemají v MicroPythonu užitečnou reprezentaci (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType), jsou vystaveny jako zástupné hodnoty None, aby kód, který je pouze referencuje, šel i nadále importovat, ale nebudou odpovídat žádnému skutečnému objektu přes isinstance().
Dostupnost: Tento modul je součástí micropython-lib. Ve výchozím nastavení je zahrnut pouze na OpenMV N6 a OpenMV AE3. Na ostatních OpenMV Cam jej lze nainstalovat pomocí mip (nebo zamrazit do vlastního firmwaru); viz Správa balíčků.
Typové aliasy¶
- types.LambdaType: type¶
Typ výrazů
lambda. Shodný sFunctionType.
- types.BuiltinFunctionType: type¶
Typ vestavěných funkcí jako
len()asys.exit().
- types.BuiltinMethodType: type¶
Typ vázaných metod vestavěných typů (například
[].append). Shodný sBuiltinFunctionType.
- types.CodeType: None¶
Zástupný symbol pro typ objektu
codez CPythonu. V této implementaci vždyNone.
- types.MappingProxyType: None¶
Zástupný symbol pro typ proxy mapování pouze pro čtení, který v CPythonu vrací
type.__dict__. V této implementaci vždyNone.
- types.SimpleNamespace: None¶
Zástupný symbol pro třídu
types.SimpleNamespacez CPythonu. V této implementaci vždyNone.
- types.TracebackType: None¶
Zástupný symbol pro typ objektů traceback. V této implementaci vždy
None.
Funkce¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Dynamicky vytvoří objekt třídy způsobem, který odráží příkaz
classkompatibilní s PEP 3115.name je název nové třídy.
bases je n-tice základních tříd.
kwds je slovník klíčových argumentů předávaných metatřídě. Klíč
"metaclass", pokud je přítomen, vybírá metatřídu přímo.exec_body je volitelný volatelný objekt, který bude vyvolán s čerstvě připraveným jmenným prostorem třídy; měl by jej naplnit atributy nové třídy.
Vrací nově sestavenou třídu.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Vypočítá vhodnou metatřídu a připraví jmenný prostor pro novou třídu.
name je název třídy, která se má vytvořit.
bases je n-tice základních tříd.
kwds je slovník klíčových argumentů. Klíč
"metaclass", pokud je přítomen, je odstraněn z vrácených kwds a použit jako metatřída. Jinak se použije metatřídabases[0], s návratem ktype.
Vrací 3-n-tici
(metaclass, namespace, kwds), kde namespace je výsledkem volánímetaclass.__prepare__, pokud je definováno, jinak prázdný slovník, a kwds je kopie vstupu s odstraněnou případnou položkou"metaclass".