الفرق بين المراجعتين لصفحة: «Python/types/prepare class»
لا ملخص تعديل |
لا ملخص تعديل |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الدالة <code>types.prepare_class()</code> في بايثون}}</noinclude> | ||
تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء. | تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء. |
المراجعة الحالية بتاريخ 12:35، 21 أغسطس 2018
تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء.
البنية العامة
types.prepare_class(name, bases=(), kwds=None)
المعاملات
name
اسم الصنف المراد إنشاؤه.
bases
الأصناف الأساسية التي سيرث منها الصنف الجديد (حسب الترتيب).
kwds
المعاملات المفتاحية (مثل صنف ميتا).
القيمة المعادة
تعيد الدالة صفًّا يحمل ثلاث قيم هي: metaclass, namespace, kwds
.
metaclass
هي صنف ميتا المناسب، و namespace
هي نطاق الأسماء المحضّر للصنف، وkwds
هي نسخة محدّثة من قيمة المعامل kwds
بعد حذف أي مدخل من مدخلات 'metaclass'
. وإن لم يمرّر المعامل kwds
تكون هذه القيمة قاموسًا فارغًا.
ملاحظات:
1- هذه الدالة جديدة في الإصدار 3.3 من بايثون.
2- تغيرت القيمة الافتراضية لنطاق الأسماء في الصفّ المعاد من الدالة في الإصدار 3.6 من اللغة. يستخدم كائن mapping
من نوع insertion-order-preserving عندما لا يمتلك صنف ميتا التابع __prepare__
.
انظر أيضًا
- الدالة
types.new_class
: تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (metaclass) المناسب. - الدالة
types.resolve_bases
: حلّل الدالة مدخلات (ترتيب تحليل التوابع MRO) بصورة ديناميكية.
مصادر
صفحة Dynamic type creation and names for built-in types في توثيق بايثون الرسمي.