কম্পিউটার

enum - পাইথনে গণনার জন্য সমর্থন


গণনা হল শনাক্তকারীর (সদস্যদের) একটি সেট যাকে অনন্য এবং ধ্রুবক মান দেওয়া হয়। একটি গণনার মধ্যে, সদস্যদের পরিচয় দ্বারা তুলনা করা যেতে পারে। গণনা অবজেক্টও টেরেটেড ওভার হতে পারে।

enum মডিউল নিম্নলিখিত ক্লাসগুলিকে সংজ্ঞায়িত করে

এনাম :গণনাকৃত ধ্রুবক তৈরির জন্য বেস ক্লাস।

IntEnum :গণনাকৃত ধ্রুবক তৈরির জন্য বেস ক্লাস যেটি int-এর সাবক্লাসও।

ক্লাস সিনট্যাক্স ব্যবহার করে গণনা তৈরি করা হয়

#enumexample.py
from enum import Enum
class langs(Enum):
Python = 1
Java = 2
Cpp = 3
Ruby = 4

গণনার সদস্যদের মানুষের পঠনযোগ্য স্ট্রিং উপস্থাপনা এবং রিপ্রেজেন্টেশন রয়েছে।

>>> from enumexample import langs
>>> print (langs.Python)
langs.Python
>>> print (repr(langs.Python))
<langs.Python: 1>

প্রতিটি enum সদস্যের নাম এবং মান বৈশিষ্ট্য আছে।

>>> x = langs.Python
>>> x.name
'Python'
>>> x.value
1

আপনি সমস্ত সদস্যের উপর পুনরাবৃত্তি করতে একটি লুপ ব্যবহার করতে পারেন।

>>> for lang in langs:
print (lang.name, lang.value)
Python 1
Java 2
Cpp 3
Ruby 4

মান বা পরিচয়ের সাহায্যে সদস্যদের অ্যাক্সেস করা যেতে পারে

>>> langs(3)
<langs.Cpp: 3>
>>> langs['Java']
<langs.Java: 2>

আইডেন্টিটি অপারেটরগুলি enum-এর সদস্যদের তুলনা করতে ব্যবহার করা যায় না৷

>>> x = langs(2)
>>> y = langs(4)
>>> x is y
False

একই নামের দুইজন সদস্য থাকা অবৈধ। যাইহোক, দুই enum সদস্য একই মান আছে অনুমোদিত. enumexample.py কে নিম্নলিখিত তে পরিবর্তন করুন:

from enum import Enum
class langs(Enum):
Python = 1
Java = 2
Cpp = 3
Ruby = 4
Cplusplus = 3
>>> from enumexample import langs
>>> langs.Cpp
<langs.Cpp: 3>
>>> langs.Cplusplus
<langs.Cpp: 3>
>>> langs(3)
<langs.Cpp: 3>

ডিফল্টরূপে, গণনার একই মানের উপনাম হিসাবে একাধিক নাম থাকতে পারে। অনন্য মান নিশ্চিত করতে, @enum.unique A ক্লাস ডেকোরেটর ব্যবহার করুন বিশেষভাবে গণনার জন্য।


  1. সহজ আগ্রহের জন্য পাইথন প্রোগ্রাম

  2. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম

  3. উইন্ডোজে পাইথন প্রোগ্রামিংয়ের জন্য IDE

  4. পাইথন কোডের জন্য অপ্টিমাইজেশন টিপস?