الفرق بين المراجعتين لصفحة: «Python/types/new class»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>types.new_class()</code> في بايثون}}</noinclude> تنشئ هذه الدالة ديناميكيًا كائن صن...' |
لا ملخص تعديل |
||
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الدالة <code>types.new_class()</code> في بايثون}}</noinclude> | ||
تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (metaclass) المناسب. | تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (metaclass) المناسب. | ||
سطر 23: | سطر 23: | ||
===<code>exec_body</code>=== | ===<code>exec_body</code>=== | ||
استدعاء خلفي <code>callback</code> يُستخدم لإضافة نطاق الأسماء الخاصّ بالصنف المنشئ حديثًا. | |||
يجب أن يأخذ نطاق الأسماء الخاصّ بالصنف كمعامل وحيد وأن يحدّث نطاق الأسماء مباشرة بمحتويات الصنف. في حال عدم تقديم أي استدعاء خلفي، يكون لهذا المعامل نفس التأثير الحاصل من تمرير العبارة lambda ns:ns. | يجب أن يأخذ نطاق الأسماء الخاصّ بالصنف كمعامل وحيد وأن يحدّث نطاق الأسماء مباشرة بمحتويات الصنف. في حال عدم تقديم أي استدعاء خلفي، يكون لهذا المعامل نفس التأثير الحاصل من تمرير العبارة <code>lambda ns:ns</code>. | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة <code>[[Python/types/prepare class|types.prepare_class]]</code>: تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء. | |||
* الدالة <code>[[Python/types/resolve bases|types.resolve_bases]]</code>: حلّل الدالة مدخلات (ترتيب تحليل التوابع MRO) بصورة ديناميكية. | |||
== مصادر == | == مصادر == | ||
[https://docs.python.org/3/library/types.html صفحة Dynamic type creation and names for built-in types في توثيق بايثون الرسمي.] | [https://docs.python.org/3/library/types.html#types.new_class صفحة Dynamic type creation and names for built-in types في توثيق بايثون الرسمي.] | ||
[[تصنيف:Python]] | [[تصنيف:Python]] | ||
[[تصنيف:Python Modules]] | [[تصنيف:Python Modules]] |
المراجعة الحالية بتاريخ 12:34، 21 أغسطس 2018
تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (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 في توثيق بايثون الرسمي.