عدادات

Skip to content

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

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

لماذا؟

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

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

Enum Meme

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

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

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

Enum تُستخدم على نطاق واسع في تطوير الألعاب

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

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

تهانينا، أنت الآن تفهم التعدادات