این یک متن ترجمه شده ماشینی است که ممکن است حاوی خطا باشد!
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 ما هنگام استفاده از enum تکمیل خودکار بهتری ارائه میدهد و از تنظیم مقادیر نامعتبر جلوگیری میکنیم (آن را دشوار میکند). اگر سعی کنیم رنگی را که در CarColor تعریف نشده است اختصاص دهیم، پایتون یک خطا ایجاد میکند. این کد را قویتر و نگهداری آن را آسانتر میکند. هرچه خطاهای احتمالی کمتری وجود داشته باشد، کیفیت کد ما بهتر خواهد بود.
تصور کنید که تابعی داریم که روشهای پرداخت را مدیریت میکند: PayPal، VISA، MASTERCARD و BITCOIN. با استفاده از Enum برای روشهای پرداخت، میتوانیم اطمینان حاصل کنیم که این تابع فقط روشهای پرداخت معتبر را دریافت میکند و نه "MASTERCARDD" یا "CASH" که میتواند منجر به خطا در برنامه شود.
مسئله 1 - ایجاد یک Enum
یک Enum به نام EyeColor ایجاد کنید و آن را در کلاس Person از ماژول قبلی پیادهسازی کنید. EyeColor باید مقادیر زیر را داشته باشد:
BLUEBROWNGREENHAZEL
Enum به طور گسترده در توسعه بازی استفاده میشود
اگر در مستندات بازیهای مختلف جستجو کنید، اغلب مشاهده خواهید کرد که آنها از Enums برای تعریف مواردی مانند سلاحها، دشمنان، سطوح و موارد مشابه استفاده میکنند. این به این دلیل است که مدیریت این نوع موارد را در کد آسانتر میکند و از بروز خطاها جلوگیری میکند.

