types --- nama untuk tipe bawaan

Modul ini mendefinisikan nama untuk beberapa tipe objek yang digunakan oleh interpreter Python standar tetapi tidak diekspos sebagai builtin (seperti tipe fungsi atau generator), bersama dengan sejumlah kecil helper untuk konstruksi kelas dinamis.

Ini adalah port MicroPython dari sebagian modul types CPython. Beberapa alias tipe yang tidak memiliki representasi berguna di MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) diekspos sebagai placeholder None agar kode yang hanya mereferensikannya tetap dapat diimpor, namun tidak akan cocok dengan objek nyata mana pun melalui isinstance().

Ketersediaan: Modul ini merupakan bagian dari micropython-lib. Modul ini disertakan secara default hanya pada OpenMV N6 dan OpenMV AE3. Pada OpenMV Cam lainnya, modul ini dapat dipasang dengan mip (atau dibekukan ke dalam firmware kustom); lihat Manajemen paket.

Alias tipe

types.FunctionType: type

Tipe fungsi yang didefinisikan pengguna dan objek yang dibuat oleh pernyataan def.

types.LambdaType: type

Tipe ekspresi lambda. Identik dengan FunctionType.

types.GeneratorType: type

Tipe objek generator-iterator yang dihasilkan oleh fungsi generator.

types.MethodType: type

Tipe bound method dari instance kelas yang didefinisikan pengguna.

types.BuiltinFunctionType: type

Tipe fungsi bawaan seperti len() dan sys.exit().

types.BuiltinMethodType: type

Tipe bound method dari tipe bawaan (misalnya [].append). Identik dengan BuiltinFunctionType.

types.ModuleType: type

Tipe modul yang diimpor.

types.CodeType: None

Placeholder untuk tipe objek code CPython. Selalu None dalam implementasi ini.

types.MappingProxyType: None

Placeholder untuk tipe proxy pemetaan hanya-baca yang dikembalikan oleh type.__dict__ di CPython. Selalu None dalam implementasi ini.

types.SimpleNamespace: None

Placeholder untuk kelas types.SimpleNamespace CPython. Selalu None dalam implementasi ini.

types.TracebackType: None

Placeholder untuk tipe objek traceback. Selalu None dalam implementasi ini.

types.FrameType: None

Placeholder untuk tipe objek frame. Selalu None dalam implementasi ini.

types.GetSetDescriptorType: None

Placeholder untuk tipe deskriptor atribut yang didefinisikan oleh tipe ekstensi. Selalu None dalam implementasi ini.

types.MemberDescriptorType: None

Placeholder untuk tipe deskriptor slot yang didefinisikan oleh tipe ekstensi. Selalu None dalam implementasi ini.

Fungsi

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

Buat objek kelas secara dinamis dengan cara yang mencerminkan pernyataan class yang sesuai PEP 3115.

  • name adalah nama kelas baru.

  • bases adalah tuple dari kelas dasar.

  • kwds adalah dict dari argumen kata kunci yang diteruskan ke metakelas. Kunci "metaclass", jika ada, memilih metakelas secara langsung.

  • exec_body adalah callable opsional yang akan dipanggil dengan namespace kelas yang baru disiapkan; fungsi ini harus mengisi namespace tersebut dengan atribut kelas baru.

Mengembalikan kelas yang baru dikonstruksi.

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

Hitung metakelas yang sesuai dan siapkan namespace untuk kelas baru.

  • name adalah nama kelas yang akan dibuat.

  • bases adalah tuple dari kelas dasar.

  • kwds adalah dict dari argumen kata kunci. Kunci "metaclass", jika ada, dihapus dari kwds yang dikembalikan dan digunakan sebagai metakelas. Jika tidak ada, metakelas dari bases[0] digunakan, dengan fallback ke type.

Mengembalikan tuple 3-elemen (metaclass, namespace, kwds) di mana namespace adalah hasil pemanggilan metaclass.__prepare__ jika didefinisikan, atau dict kosong jika tidak, dan kwds adalah salinan input dengan entri "metaclass" yang dihapus.