types — nazwy typów wbudowanych¶
Ten moduł definiuje nazwy dla niektórych typów obiektów, które są używane przez standardowy interpreter Pythona, ale nie są udostępniane jako wbudowane (takich jak typ funkcji czy generatorów), wraz z niewielką liczbą funkcji pomocniczych do dynamicznego konstruowania klas.
Jest to port MicroPython podzbioru modułu types z CPythona. Kilka aliasów typów, które nie mają użytecznej reprezentacji w MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType), jest udostępnianych jako wypełniacze None, tak aby kod, który jedynie się do nich odwołuje, nadal się importował, ale nie będą one pasować do żadnego rzeczywistego obiektu przez isinstance().
Dostępność: Ten moduł jest częścią micropython-lib. Domyślnie jest dołączany tylko na OpenMV N6 i OpenMV AE3. Na pozostałych kamerach OpenMV Cam można go zainstalować za pomocą mip (lub wbudować w niestandardowe oprogramowanie układowe); zobacz Zarządzanie pakietami.
Aliasy typów¶
- types.FunctionType: type¶
Typ funkcji zdefiniowanych przez użytkownika oraz obiektów tworzonych przez instrukcje
def.
- types.LambdaType: type¶
Typ wyrażeń
lambda. Identyczny zFunctionType.
- types.BuiltinFunctionType: type¶
Typ funkcji wbudowanych, takich jak
len()isys.exit().
- types.BuiltinMethodType: type¶
Typ metod związanych typów wbudowanych (na przykład
[].append). Identyczny zBuiltinFunctionType.
- types.MappingProxyType: None¶
Wypełniacz dla typu proxy mapowania tylko do odczytu zwracanego przez
type.__dict__w CPythonie. ZawszeNonew tej implementacji.
- types.SimpleNamespace: None¶
Wypełniacz dla klasy
types.SimpleNamespacez CPythona. ZawszeNonew tej implementacji.
Funkcje¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Tworzy dynamicznie obiekt klasy w sposób odzwierciedlający instrukcję
classzgodną z PEP 3115.name to nazwa nowej klasy.
bases to krotka klas bazowych.
kwds to słownik argumentów nazwanych przekazywanych do metaklasy. Klucz
"metaclass", jeśli jest obecny, wybiera metaklasę bezpośrednio.exec_body to opcjonalny obiekt wywoływalny, który zostanie wywołany ze świeżo przygotowaną przestrzenią nazw klasy; powinien on wypełnić ją atrybutami nowej klasy.
Zwraca nowo skonstruowaną klasę.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Oblicza odpowiednią metaklasę i przygotowuje przestrzeń nazw dla nowej klasy.
name to nazwa klasy, która ma zostać utworzona.
bases to krotka klas bazowych.
kwds to słownik argumentów nazwanych. Klucz
"metaclass", jeśli jest obecny, jest usuwany ze zwracanego kwds i używany jako metaklasa. W przeciwnym razie używana jest metaklasabases[0], z powrotem dotype.
Zwraca 3-elementową krotkę
(metaclass, namespace, kwds), gdzie namespace jest wynikiem wywołaniametaclass.__prepare__, jeśli jest zdefiniowane, lub w przeciwnym razie pustym słownikiem, a kwds jest kopią danych wejściowych z usuniętym wpisem"metaclass".