types --- أسماء للأنواع المدمجة¶
تعرّف هذه الوحدة أسماءً لبعض أنواع الكائنات التي يستخدمها مفسّر Python القياسي ولكنها غير معروضة كأنواع مدمجة (مثل نوع الدوال أو المولّدات)، إلى جانب عدد قليل من الدوال المساعدة لبناء الأصناف ديناميكيًا.
هذا هو منفذ MicroPython لمجموعة جزئية من وحدة types الخاصة بـ CPython. تُعرض عدة أسماء مستعارة للأنواع التي ليس لها تمثيل مفيد في MicroPython (CodeType وMappingProxyType وSimpleNamespace وTracebackType وFrameType وGetSetDescriptorType وMemberDescriptorType) كعناصر نائبة None بحيث تستمر الشيفرة التي تشير إليها فقط في الاستيراد، لكنها لن تطابق أي كائن حقيقي عبر isinstance().
التوفر: هذه الوحدة جزء من micropython-lib. وهي مُضمّنة افتراضيًا فقط على OpenMV N6 وOpenMV AE3. على كاميرات OpenMV Cam الأخرى يمكن تثبيتها باستخدام mip (أو تجميدها في برنامج ثابت مخصص)؛ انظر إدارة الحزم.
أسماء الأنواع المستعارة¶
- types.LambdaType: type¶
نوع تعبيرات
lambda. مطابق لـFunctionType.
- types.BuiltinFunctionType: type¶
نوع الدوال المدمجة مثل
len()وsys.exit().
- types.BuiltinMethodType: type¶
نوع الطرائق المرتبطة بالأنواع المدمجة (على سبيل المثال
[].append). مطابق لـBuiltinFunctionType.
- types.MappingProxyType: None¶
عنصر نائب لنوع وكيل التعيين للقراءة فقط الذي يعيده
type.__dict__في CPython. دائمًاNoneفي هذا التنفيذ.
- types.SimpleNamespace: None¶
عنصر نائب لصنف
types.SimpleNamespaceفي CPython. دائمًاNoneفي هذا التنفيذ.
- types.TracebackType: None¶
عنصر نائب لنوع كائنات التتبع العكسي (traceback). دائمًا
Noneفي هذا التنفيذ.
الدوال¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
إنشاء كائن صنف ديناميكيًا بطريقة تحاكي عبارة
classالمتوافقة مع PEP 3115.name هو اسم الصنف الجديد.
bases هو صف (tuple) من الأصناف الأساسية.
kwds هو قاموس من الوسائط المسماة لتمريرها إلى الصنف الفوقي (metaclass). إذا كان المفتاح
"metaclass"موجودًا فإنه يحدد الصنف الفوقي مباشرة.exec_body هو كائن قابل للاستدعاء اختياري سيُستدعى مع نطاق أسماء الصنف المُهيّأ حديثًا؛ ويُفترض أن يملأه بسمات الصنف الجديد.
يعيد الصنف المُنشأ حديثًا.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
حساب الصنف الفوقي المناسب وتجهيز نطاق الأسماء لصنف جديد.
name هو اسم الصنف الذي سيُنشأ.
bases هو صف (tuple) من الأصناف الأساسية.
kwds هو قاموس من الوسائط المسماة. إذا كان المفتاح
"metaclass"موجودًا فإنه يُزال من kwds المُعاد ويُستخدم كصنف فوقي. وإلا يُستخدم الصنف الفوقي لـbases[0]، مع الرجوع إلىtype.
يعيد صفًا ثلاثيًا
(metaclass, namespace, kwds)حيث يكون namespace نتيجة استدعاءmetaclass.__prepare__إن كان معرّفًا، أو قاموسًا فارغًا في غير ذلك، ويكون kwds نسخة من المدخل مع إزالة أي مدخل"metaclass".