types — nimiä sisäänrakennetuille tyypeille¶
Tämä moduuli määrittää nimiä joillekin objektityypeille, joita vakiomuotoinen Python-tulkki käyttää mutta joita ei ole näkyvillä sisäänrakennettuina (kuten funktioiden tai generaattorien tyyppi), sekä pienen joukon apufunktioita dynaamiseen luokkien rakentamiseen.
Tämä on MicroPython-sovitus CPythonin types-moduulin osajoukosta. Useat tyyppialiakset, joilla ei ole hyödyllistä esitysmuotoa MicroPythonissa (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType), on tarjolla None-paikkamerkkeinä, jotta niihin vain viittaava koodi pysyy tuotavissa, mutta ne eivät vastaa mitään todellista objektia isinstance()-tarkistuksessa.
Saatavuus: Tämä moduuli on osa micropython-lib-kirjastoa. Se sisältyy oletuksena vain OpenMV N6:lle ja OpenMV AE3:lle. Muilla OpenMV Cam -kameroilla se voidaan asentaa mip-työkalulla (tai jäädyttää mukautettuun laiteohjelmistoon); katso Pakettien hallinta.
Tyyppialiakset¶
- types.FunctionType: type¶
Käyttäjän määrittämien funktioiden ja
def-lauseilla luotujen objektien tyyppi.
- types.LambdaType: type¶
lambda-lausekkeiden tyyppi. IdenttinenFunctionType-tyypin kanssa.
- types.GeneratorType: type¶
Generaattorifunktioiden tuottamien generaattori-iteraattoriobjektien tyyppi.
- types.BuiltinFunctionType: type¶
Sisäänrakennettujen funktioiden tyyppi, kuten
len()jasys.exit().
- types.BuiltinMethodType: type¶
Sisäänrakennettujen tyyppien sidottujen metodien tyyppi (esimerkiksi
[].append). IdenttinenBuiltinFunctionType-tyypin kanssa.
- types.MappingProxyType: None¶
Paikkamerkki vain luettavan kuvauksen välitysobjektin tyypille, jonka
type.__dict__palauttaa CPythonissa. Tässä toteutuksessa ainaNone.
- types.SimpleNamespace: None¶
Paikkamerkki CPythonin
types.SimpleNamespace-luokalle. Tässä toteutuksessa ainaNone.
- types.TracebackType: None¶
Paikkamerkki jäljitysobjektien (traceback) tyypille. Tässä toteutuksessa aina
None.
Funktiot¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Luo luokkaobjekti dynaamisesti tavalla, joka vastaa PEP 3115-yhteensopivaa
class-lausetta.name on uuden luokan nimi.
bases on kantaluokkien monikko.
kwds on sanakirja avainsana-argumenteista, jotka välitetään metaluokalle. Mahdollinen
"metaclass"-avain valitsee metaluokan suoraan.exec_body on valinnainen kutsuttava objekti, joka kutsutaan juuri valmistellun luokan nimiavaruuden kanssa; sen tulee täyttää nimiavaruus uuden luokan attribuuteilla.
Palauttaa juuri rakennetun luokan.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Laske sopiva metaluokka ja valmistele nimiavaruus uutta luokkaa varten.
name on luotavan luokan nimi.
bases on kantaluokkien monikko.
kwds on sanakirja avainsana-argumenteista. Mahdollinen
"metaclass"-avain poistetaan palautetusta kwds-arvosta ja sitä käytetään metaluokkana. Muutoin käytetäänbases[0]-luokan metaluokkaa, ja varatapauksenatype-luokkaa.
Palauttaa kolmialkioisen monikon
(metaclass, namespace, kwds), jossa namespace on tulosmetaclass.__prepare__-metodin kutsumisesta, jos se on määritetty, tai muutoin tyhjä sanakirja, ja kwds on kopio syötteestä, josta mahdollinen"metaclass"-merkintä on poistettu.