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

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


تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (metaclass) المناسب.

ملاحظة: هذه الدالة جديدة في الإصدار 3.3 من اللغة.

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

types.new_class(name, bases=(), kwds=None, exec_body=None)

المعاملات

name

اسم الصنف المراد إنشاؤه.

bases

الأصناف الأساسية التي سيرث منها الصنف الجديد (حسب الترتيب).

kwds

المعاملات المفتاحية (مثل صنف ميتا).

exec_body

استدعاء خلفي callback يُستخدم لإضافة نطاق الأسماء الخاصّ بالصنف المنشئ حديثًا.

يجب أن يأخذ نطاق الأسماء الخاصّ بالصنف كمعامل وحيد وأن يحدّث نطاق الأسماء مباشرة بمحتويات الصنف. في حال عدم تقديم أي استدعاء خلفي، يكون لهذا المعامل نفس التأثير الحاصل من تمرير العبارة lambda ns:ns.

انظر أيضًا

  • الدالة types.prepare_class: تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء.
  • الدالة types.resolve_bases: حلّل الدالة مدخلات (ترتيب تحليل التوابع MRO) بصورة ديناميكية.

مصادر

صفحة Dynamic type creation and names for built-in types في توثيق بايثون الرسمي.