الدالة types.prepare_class()‎ في بايثون

من موسوعة حسوب
< Python‏ | types
مراجعة 12:35، 21 أغسطس 2018 بواسطة Mohammed Taher (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث


تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء.

البنية العامة

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 في توثيق بايثون الرسمي.