الفرق بين المراجعتين ل"Python/types/prepare class"

من موسوعة حسوب
< Python‏ | types
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>types.new_class()‎</code> في بايثون}}</noinclude> تحسب هذه الدالة صنف ميتا المناسب و...')
 
 
(مراجعتان متوسطتان بواسطة نفس المستخدم غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>types.new_class()‎</code> في بايثون}}</noinclude>
+
<noinclude>{{DISPLAYTITLE:الدالة <code>types.prepare_class()‎</code> في بايثون}}</noinclude>
  
 
تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء.
 
تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء.
سطر 22: سطر 22:
 
== القيمة المعادة ==
 
== القيمة المعادة ==
  
تعيد الدالة صفًّا يحمل ثلاث قيم هي: metaclass, namespace, kwds.
+
تعيد الدالة [[Python/tuples|صفًّا]] يحمل ثلاث قيم هي: <code>metaclass, namespace, kwds</code>.
 +
 
 +
<code>metaclass</code> هي صنف ميتا المناسب، و <code>namespace</code> هي نطاق الأسماء المحضّر للصنف، و<code>kwds</code> هي نسخة محدّثة من قيمة المعامل <code>kwds</code> بعد حذف أي مدخل من مدخلات <code>'metaclass'</code>. وإن لم يمرّر المعامل <code>kwds</code> تكون هذه القيمة [[Python/dict|قاموسًا]] فارغًا.
 +
 
 +
'''ملاحظات:'''
  
metaclass هي صنف ميتا المناسب، و namespace هي نطاق الأسماء المحضّر للصنف، وkwds هي نسخة محدّثة من قيمة المعامل kwds بعد حذف أي مدخل من مدخلات 'metaclass'. وإن لم يمرّر المعامل kwds تكون هذه القيمة قاموسًا فارغًا.
 
ملاحظات:
 
 
1- هذه الدالة جديدة في الإصدار 3.3 من بايثون.
 
1- هذه الدالة جديدة في الإصدار 3.3 من بايثون.
2- تغيرت القيمة الافتراضية لنطاق الأسماء في الصفّ المعاد من الدالة في الإصدار 3.6 من اللغة. يستخدم كائن mapping من نوع insertion-order-preserving عندما لا يمتلك صنف ميتا التابع __prepare__.
+
 
 +
2- تغيرت القيمة الافتراضية لنطاق الأسماء في الصفّ المعاد من الدالة في الإصدار 3.6 من اللغة. يستخدم كائن <code>mapping</code> من نوع insertion-order-preserving عندما لا يمتلك صنف ميتا التابع <code>__prepare__</code>.
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==

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