types — imena za ugrađene tipove

Ovaj modul definira imena za neke tipove objekata koje koristi standardni Python interpreter, ali koji nisu izloženi kao ugrađeni objekti (poput tipa funkcija ili generatora), zajedno s malim brojem pomoćnih funkcija za dinamičku konstrukciju klasa.

Ovo je MicroPython port podskupa CPythonovog modula types. Nekoliko tipskih aliasa koji nemaju korisnu reprezentaciju u MicroPythonu (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) izloženi su kao None rezervirana mjesta tako da se kod koji ih samo referencira i dalje uvozi, no oni neće odgovarati nijednom stvarnom objektu putem isinstance().

Dostupnost: Ovaj modul dio je micropython-lib. Uključen je prema zadanim postavkama samo na OpenMV N6 i OpenMV AE3. Na ostalim OpenMV Cam kamerama može se instalirati pomoću mip (ili zamrznuti u prilagođeni ugrađeni program (firmware)); pogledajte Upravljanje paketima.

Tipski aliasi

types.FunctionType: type

Tip korisnički definiranih funkcija i objekata stvorenih def naredbama.

types.LambdaType: type

Tip lambda izraza. Identičan FunctionType.

types.GeneratorType: type

Tip objekata generator-iteratora koje proizvode generatorske funkcije.

types.MethodType: type

Tip vezanih metoda instanci korisnički definiranih klasa.

types.BuiltinFunctionType: type

Tip ugrađenih funkcija poput len() i sys.exit().

types.BuiltinMethodType: type

Tip vezanih metoda ugrađenih tipova (na primjer [].append). Identičan BuiltinFunctionType.

types.ModuleType: type

Tip uvezenih modula.

types.CodeType: None

Rezervirano mjesto za CPythonov tip objekta code. Uvijek None u ovoj implementaciji.

types.MappingProxyType: None

Rezervirano mjesto za tip proxyja samo-za-čitanje mapiranja koji u CPythonu vraća type.__dict__. Uvijek None u ovoj implementaciji.

types.SimpleNamespace: None

Rezervirano mjesto za CPythonovu klasu types.SimpleNamespace. Uvijek None u ovoj implementaciji.

types.TracebackType: None

Rezervirano mjesto za tip objekata povratnog praćenja (traceback). Uvijek None u ovoj implementaciji.

types.FrameType: None

Rezervirano mjesto za tip objekata okvira (frame). Uvijek None u ovoj implementaciji.

types.GetSetDescriptorType: None

Rezervirano mjesto za tip deskriptora atributa koje definiraju proširenja tipova. Uvijek None u ovoj implementaciji.

types.MemberDescriptorType: None

Rezervirano mjesto za tip deskriptora slotova koje definiraju proširenja tipova. Uvijek None u ovoj implementaciji.

Funkcije

types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type

Dinamički stvara objekt klase na način koji odražava class naredbu u skladu s PEP 3115.

  • name je ime nove klase.

  • bases je n-torka baznih klasa.

  • kwds je rječnik ključnih argumenata koji se prosljeđuju metaklasi. Ključ "metaclass", ako je prisutan, izravno odabire metaklasu.

  • exec_body je opcionalni pozivljivi objekt koji će biti pozvan s netom pripremljenim imenskim prostorom klase; trebao bi ga popuniti atributima nove klase.

Vraća novokonstruiranu klasu.

types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]

Izračunava odgovarajuću metaklasu i priprema imenski prostor za novu klasu.

  • name je ime klase koja će biti stvorena.

  • bases je n-torka baznih klasa.

  • kwds je rječnik ključnih argumenata. Ključ "metaclass", ako je prisutan, uklanja se iz vraćenog kwds i koristi kao metaklasa. U suprotnom se koristi metaklasa od bases[0], uz povratak na type.

Vraća 3-torku (metaclass, namespace, kwds) gdje je namespace rezultat poziva metaclass.__prepare__ ako je definiran, inače prazan rječnik, a kwds je kopija ulaza s uklonjenim eventualnim unosom "metaclass".