کلاس‌های Enum در زبان برنامه نویسی پایتون
صفحه اصلی / دوره‌های آموزشی / آموزش پایتون از مقدماتی تا متوسط / معرفی کلاس‌های Enum در زبان برنامه نویسی پایتون

معرفی کلاس‌های Enum در زبان برنامه نویسی پایتون

معرفی کلاس‌های Enum در زبان برنامه نویسی پایتون
81,000 تومان
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

معرفی کلاس های Enum در پایتون

در این درس از دوره آموزش پایتون در خدمت شما عزیزان هستیم تا به معرفی کلاس های پرکاربرد Enum در پایتون بپردازیم.

شمارش ها در پایتون با استفاده از ماژولی به نام "Enum" پیاده سازی می شوند. شمارش گر ها با استفاده از کلاس ها ایجاد می شوندنام گذاری در Enum ها مطابق با مقادیر صورت میگیرد و با آن ها مرتبط است.

خواص Enum ها

  • Enum ها را می توان با دو متد string (رشته) و Repr نمایش داد.
  • از Enum ها می توان برای انواع داده بررسی کرد که این مورد با استفاده از تابع type() صورت می گیرد.
  • از کلمه کلیدی name برای نمایش نام عضو در Enum استفاده می شود.

به مثال زیر توجه کنید:
در این قطعه کد ابتدا با استفاده از دستور import یک enum  تعریف کرده ایم. سپس یک کلاس از حیوانات را ایجاد کرده ایم. در ادامه نیز درخواست خروجی با دو متد رشته و repr را داده ایم و همچنین، خواسته ایم تانوع اعضای enum را در خروجی نمایش دهد.

# Python code to demonstrate enumerations
 
# importing enum for enumerations
import enum
 
# creating enumerations using class
class Animal(enum.Enum):
    dog = 1
    cat = 2
    lion = 3
 
# printing enum member as string
print ("The string representation of enum member is : ",end="")
print (Animal.dog)
 
# printing enum member as repr
print ("The repr representation of enum member is : ",end="")
print (repr(Animal.dog))
 
# printing the type of enum member using type()
print ("The type of enum member is : ",end ="")
print (type(Animal.dog))
 
# printing name of enum member using "name" keyword
print ("The name of enum member is : ",end ="")
print (Animal.dog.name)

خروجی قطعه کد بالا به صورت زیر می باشد:

The string representation of enum member is : Animal.dog
The repr representation of enum member is : <Animal.dog: 1>
The type of enum member is : <enum 'Animal'>
The name of enum member is : dog
  • شمارش گر ها قابلیت تکرار دارند. با استفاده از حلقه ها می توان عمل تکرار را انجام داد.
  • Enum ها از hash پشتیبانی می کنند.
  • Enum ها را می توان در دیکشنری ها و مجموعه ها استفاده کرد.

در قطعه کد زیر کاربرد enum در دیکشنری و هش ها را نشان داده ایم:

# Python code to demonstrate enumerations
# iterations and hashing
# importing enum for enumerations
import enum
 
# creating enumerations using class
class Animal(enum.Enum):
    dog = 1
    cat = 2
    lion = 3
 
# printing all enum members using loop
print ("All the enum values are : ")
for Anim in (Animal):
    print(Anim)
 
# Hashing enum member as dictionary
di = {}
di[Animal.dog] = 'bark'
di[Animal.lion] = 'roar'
 
# checking if enum values are hashed successfully
if di=={Animal.dog : 'bark',Animal.lion : 'roar'}:
      print ("Enum is hashed")
else: print ("Enum is not hashed")

خروجی قطعه کد بالا به صورت زیر می باشد:

All the enum values are : 
Animal.dog
Animal.cat
Animal.lion
Enum is hashed

دسترسی به حالت ها در Enum

اعضای enum از دو راه قابل دسترسی هستند:

  1. با مقدار: در این روش مقدار عضو enum پاس داده می شود.
  2. با نام: در این روش نام عضو enum ارسال می شود. با استفاده از کلمه کلیدی "name" یا "VALUE" می توان به مقدار یا نام به صورت جداگانه نیز دسترسی داشت.

مقایسه در Enumerations

Enum  از دو نوع مقایسه پشتیبانی می کند:

  1. هویت: در این مورد با استفاده از کلمات کلیدی "is" و "is not" مقایسه صورت میگیرد.
  2. برابری: مقایسه برابری با استفاده از علائم "==" و "!=" انجام می شود.

در این درس به بررسی کامل Enum ها در پایتون پرداختیم. یاد گرفتیم که enum ها برای شمارش در پایتون استفاده می شوند. همچنین، با ویژگی ها و کاربرد آن در یک قطعه کد به طور عملی این مبحث را نمایش دادیم.


امیدواریم این درس برای شما مفید بوده باشد و از آن استفاده کنید. اگر این درس را دوست داشتید حتما آن را با دوستان خود به اشتراک بگذارید. بی صبرانه منتظر نظرات و سوالات شما هستیم.
در جلسه بعد نیز به مبحث جذاب و کاربردی ماژول ها می پردازیم و این مبحث را به صورت کامل و اصولی آموزش می دهیم.

 

جلسات دوره


                                   
مهدی عباسی
مدرس :

مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مطالعه بیشتر رزومه

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

نظرات دانشجویان

آموزش پایتون مقدماتی تا متوسط

906