تقنية

Enum في بايثون: ثلاثة أسماء قد تعني عضوين

التكرار يعرض عضوين والخريطة ثلاثة أسماء
كل عمود قائمة مستقلة؛ الشرطة نهاية القائمة الأقصر. [1] [2]

فرّق بين الأسماء والأعضاء. [1] [2]

الخلاصة السريعة

في Enum العادي، الاسم اللاحق بالقيمة نفسها يصبح اسمًا مستعارًا للعضو الأول. [1] [2]

  • ALSO هو START؛ فحص is يعطي True. [1] [2]
  • التكرار يعرض START ثم END، دون ALSO. [1] [2]
  • مفاتيح __members__ تشمل الأسماء الثلاثة بترتيب تعريفها. [1] [2]
  • البحث بالقيمة 4 يعيد START، لا ALSO. [1] [2]
  • اختبرنا 3.12.14 وقيمًا صحيحة؛ دون Flag أو تخصيص أو منع الأسماء المستعارة. [1] [2]

المثال

from enum import Enum
class Mark(Enum):
    START=4
    ALSO=4
    END=9
print(Mark.ALSO is Mark.START)
print([m.name for m in Mark])
print(list(Mark.__members__))
print(Mark(4).name)

[1] [2]

المخرجات: True، ثم ['START','END']، ثم ['START','ALSO','END']، ثم START. [1] [2]

قائمة الأسماء

التكرار لا يحذف ALSO؛ مفاتيح الخريطة تحصر الأسماء. [1] [2]

الاسم المعاد

البحث بالقيمة يعيد العضو المشترك واسمه؛ لا يسترجع ALSO. [1] [2]

هوية العضو مشتركة واسمه عند البحث بالقيمة هو الأول
القيمة المشتركة 4 لا تختار ALSO اسمًا معادًا. [1] [2]

النطاق

لا تعدّ خطوات التكرار لقياس عدد الأسماء. [1] [2]

المراجع

  1. Python: دليل Enum والأسماء المستعارة
  2. CPython 3.12.14: أعضاء Enum
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.