types — yerleşik türler için adlar

Bu modül, standart Python yorumlayıcısı tarafından kullanılan ancak yerleşik (builtin) olarak sunulmayan bazı nesne türleri için adlar tanımlar (fonksiyonların veya üreteçlerin türü gibi) ve buna ek olarak dinamik sınıf oluşturma için az sayıda yardımcı sağlar.

Bu, CPython’ın types modülünün bir alt kümesinin MicroPython uyarlamasıdır. MicroPython’da anlamlı bir karşılığı olmayan bazı tür takma adları (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType), yalnızca bunlara başvuran kodların içe aktarmaya devam edebilmesi için None yer tutucuları olarak sunulur; ancak bunlar isinstance() aracılığıyla hiçbir gerçek nesneyle eşleşmez.

Kullanılabilirlik: Bu modül micropython-lib öğesinin bir parçasıdır. Varsayılan olarak yalnızca OpenMV N6 ve OpenMV AE3 üzerinde bulunur. Diğer OpenMV Cam’lerde mip ile kurulabilir (veya özel bir aygıt yazılımına (firmware) gömülebilir); bkz. Paket yönetimi.

Tür takma adları

types.FunctionType: type

Kullanıcı tanımlı fonksiyonların ve def ifadeleriyle oluşturulan nesnelerin türü.

types.LambdaType: type

lambda ifadelerinin türü. FunctionType ile aynıdır.

types.GeneratorType: type

Üreteç fonksiyonları tarafından üretilen üreteç-yineleyici nesnelerinin türü.

types.MethodType: type

Kullanıcı tanımlı sınıf örneklerinin bağlı metotlarının türü.

types.BuiltinFunctionType: type

len() ve sys.exit() gibi yerleşik fonksiyonların türü.

types.BuiltinMethodType: type

Yerleşik türlerin bağlı metotlarının türü (örneğin [].append). BuiltinFunctionType ile aynıdır.

types.ModuleType: type

İçe aktarılan modüllerin türü.

types.CodeType: None

CPython code nesne türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.MappingProxyType: None

CPython’da type.__dict__ tarafından döndürülen salt okunur eşleme proxy türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.SimpleNamespace: None

CPython types.SimpleNamespace sınıfı için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.TracebackType: None

Geri izleme (traceback) nesnelerinin türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.FrameType: None

Çerçeve (frame) nesnelerinin türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.GetSetDescriptorType: None

Uzantı türleri tarafından tanımlanan öznitelik tanımlayıcılarının türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

types.MemberDescriptorType: None

Uzantı türleri tarafından tanımlanan slot tanımlayıcılarının türü için yer tutucu. Bu uygulamada her zaman None değerindedir.

Fonksiyonlar

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

PEP 3115 uyumlu class ifadesini yansıtan bir biçimde dinamik olarak bir sınıf nesnesi oluşturur.

  • name, yeni sınıfın adıdır.

  • bases, taban sınıflardan oluşan bir demettir.

  • kwds, metasınıfa geçirilecek anahtar sözcük argümanlarından oluşan bir sözlüktür. Varsa, bir "metaclass" anahtarı metasınıfı doğrudan seçer.

  • exec_body, yeni hazırlanmış sınıf ad alanıyla çağrılacak isteğe bağlı bir çağrılabilir nesnedir; bu ad alanını yeni sınıfın öznitelikleriyle doldurmalıdır.

Yeni oluşturulan sınıfı döndürür.

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

Uygun metasınıfı hesaplar ve yeni bir sınıf için ad alanını hazırlar.

  • name, oluşturulmak üzere olan sınıfın adıdır.

  • bases, taban sınıflardan oluşan bir demettir.

  • kwds, anahtar sözcük argümanlarından oluşan bir sözlüktür. Varsa, bir "metaclass" anahtarı döndürülen kwds öğesinden kaldırılır ve metasınıf olarak kullanılır. Aksi takdirde bases[0] öğesinin metasınıfı kullanılır; bu da yoksa type öğesine geri dönülür.

namespace öğesinin, tanımlıysa metaclass.__prepare__ çağrısının sonucu (aksi takdirde boş bir sözlük) olduğu ve kwds öğesinin, varsa "metaclass" girdisi kaldırılmış girdinin bir kopyası olduğu bir 3’lü demet (metaclass, namespace, kwds) döndürür.