Hopp til innhold

التعدادات

Skip to content

هذا نص مترجم آليًا وقد يحتوي على أخطاء!

Enums

Enums (enumerations) هي طريقة لتعريف نوع بيانات يمكن أن يحتوي فقط على مجموعة محدودة من القيم المعرفة مسبقًا. هذا يجعل من السهل تجنب الأخطاء من خلال التأكد من أن المتغير يمكن أن يحتوي فقط على قيم صالحة.

لا تستخدم Enums بشكل صارم للتحقق من الصحة، ولكنها تساعدنا في تقييد القيم الصالحة لمتغير، وبالتالي يمكن أن تساعد في منع الأخطاء.

على سبيل المثال، إذا كان لديك فئة تمثل سيارة، يمكنك استخدام Enum لتحديد الألوان التي يمكن أن تكون عليها السيارة:

from enum import Enum

class CarColor(Enum):
    RED = "red"
    BLUE = "blue"
    GREEN = "green"
    BLACK = "black"
    WHITE = "white"

class Car:
    def __init__(self, make: str, model: str, year: int, color: CarColor):
        self.make = make
        self.model = model
        self.year = year
        self.color = color

لماذا؟

يعطينا محرر الأكواد المتكامل لدينا استكمالاً أفضل للأكواد عند استخدامنا للتعدادات، كما أنه يمنع (يجعل من الصعب) تعيين قيم غير صالحة. إذا حاولنا إسناد لون غير معرّف في CarColor، فسيقوم بايثون برمٍ خطأ. هذا يجعل الكود أكثر متانة وأسهل في الصيانة. كلما قلّت الأخطاء المحتملة التي يمكن أن تحدث، تحسّنت جودة كودنا.

تخيّل أننا لدينا دالة تعالج طرق الدفع: PayPal وVISA وMASTERCARD وBITCOIN.通过使用 تعداد لطرق الدفع، يمكننا ضمان أن الدالة تستقبل فقط طرق دفع صالحة، وليس "MASTERCARDD" أو "CASH"، مما قد يؤدي إلى أخطاء في البرنامج.

Enum Meme

Easy المهمة 1 - إنشاء Enum

أنشئ Enum باسم EyeColor وقم بتطبيقه في فئة Person من الوحدة السابقة. يجب أن يحتوي EyeColor على القيم التالية:

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

تُستخدم التعدادات (Enums) كثيرًا في تطوير الألعاب

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

https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/blockpistonstate?view=minecraft-bedrock-stable

مبروك، الآن أنت تفهم الأنواع المحددة