Python Academy · पाठ

Enum क्लास

नामित स्थिरांक समूह परिभाषित करें

पाठ 1, कुल 4 में से13 चरण

Enum क्लास, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एनम क्यों

एनम (enumeration) ऐसे नामित स्थिर मानों का समूह है जो आपस में संबंधित होते हैं। अपने कोड में विशेष स्ट्रिंग या संख्याएँ जगह-जगह लिखने के बजाय, आप प्रत्येक मान को एक स्पष्ट नाम देते हैं।

  • कोड स्वयं अपना अर्थ स्पष्ट करता है।
  • टाइपिंग की गलतियों से सुरक्षा मिलती है।
  • विकल्पों का एक निश्चित और ज्ञात समूह मिलता है।

एनम परिभाषित करना

Enum की उपक्लास बनाएँ और सदस्यों को NAME = value के रूप में लिखें। परंपरागत रूप से सदस्यों के नाम बड़े अक्षरों में लिखे जाते हैं।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

print(Color.RED)

नाम और मान

एनम के प्रत्येक सदस्य के पास एक .name (पहचानकर्ता) और एक .value (दिया गया मान) होता है।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

c = Color.GREEN
print(c.name)
print(c.value)

सदस्य सिंगलटन होते हैं

प्रत्येक सदस्य एक अद्वितीय सिंगलटन ऑब्जेक्ट होता है। सदस्यों की तुलना is या == से करें; एक ही सदस्य हमेशा बिल्कुल वही ऑब्जेक्ट होता है।

from enum import Enum

class Color(Enum):
    RED = 1
    BLUE = 2

print(Color.RED is Color.RED)
print(Color.RED == Color.BLUE)

मान से खोज

संबंधित सदस्य प्राप्त करने के लिए एनम क्लास को किसी मान के साथ कॉल करें। अज्ञात मान होने पर ValueError उत्पन्न होता है।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color(2))
try:
    Color(99)
except ValueError as e:
    print('Bad value:', e)

नाम से खोज

किसी सदस्य को उसके नाम से खोजने के लिए सदस्य के नाम वाली स्ट्रिंग के साथ ब्रैकेट एक्सेस का उपयोग करें। कॉन्फ़िगरेशन या उपयोगकर्ता इनपुट से नाम पढ़ते समय यह उपयोगी होता है।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color['GREEN'])

सदस्यों पर इटरेट करना

एनम पर इटरेट किया जा सकता है। लूप चलाने पर प्रत्येक सदस्य परिभाषा के क्रम में मिलता है, जो मेनू बनाने या विकल्पों की वैधता जाँचने के लिए बहुत उपयोगी है।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

for c in Color:
    print(c.name, c.value)

स्ट्रिंग मान

एनम के मान केवल पूर्णांकों तक सीमित नहीं होते। स्ट्रिंग आम हैं, विशेषकर उन मानों के लिए जिन्हें क्रमबद्ध या संग्रहीत किया जाना हो।

from enum import Enum

class Status(Enum):
    ACTIVE = 'active'
    PAUSED = 'paused'
    CLOSED = 'closed'

print(Status.PAUSED.value)
print(Status('closed'))

मानों के लिए स्वचालित आवंटन

जब वास्तविक संख्याएँ महत्वपूर्ण न हों, तो मान अपने-आप निर्धारित करने के लिए auto() का उपयोग करें। यह 1 से शुरू होकर क्रमशः आगे बढ़ता है।

from enum import Enum, auto

class Direction(Enum):
    NORTH = auto()
    SOUTH = auto()
    EAST = auto()
    WEST = auto()

for d in Direction:
    print(d.name, d.value)

फ़ंक्शन में एनम

फ़ंक्शन पैरामीटर के रूप में एनम का उपयोग करने से उद्देश्य स्पष्ट होता है और अमान्य इनपुट से सुरक्षा मिलती है। तर्क के भीतर सदस्यों की सीधे तुलना करें।

from enum import Enum

class Light(Enum):
    RED = 1
    YELLOW = 2
    GREEN = 3

def can_go(light):
    return light is Light.GREEN

print(can_go(Light.GREEN))
print(can_go(Light.RED))

डिक्शनरी में सदस्य

एनम सदस्य हैश योग्य होते हैं, इसलिए वे डिक्शनरी की कुंजियों के रूप में काम करते हैं। प्रत्येक नामित स्थिर मान से डेटा जोड़ने का यह एक साफ़ तरीका है।

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

hex_codes = {Color.RED: '#ff0000', Color.GREEN: '#00ff00'}
print(hex_codes[Color.RED])

त्वरित जाँच

पहचान की जाँच के लिए दो एनम सदस्यों की सही तुलना कैसे करेंगे?

पुनरावलोकन

आपने Enum की सहायता से नामित स्थिर मानों के समूह बनाना सीखा।

  • सदस्यों के पास .name और .value होते हैं।
  • मान से खोजने के लिए Color(v) और नाम से खोजने के लिए Color['NAME'] का उपयोग करें।
  • एनम पर इटरेट किया जा सकता है और सदस्य सिंगलटन होते हैं।
  • जब सटीक मान महत्वपूर्ण न हों, तब auto() का उपयोग करें।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “Enum क्लास” पाठ निःशुल्क है?

हाँ—“Enum क्लास” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Enum क्लास” में मैं क्या सीखूँगा?

नामित स्थिरांक समूह परिभाषित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Enum क्लास” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Enum क्लास
  2. IntEnum और Flag
  3. NamedTuple की मूल बातें
  4. typing.NamedTuple
← Python Academy पर वापस जाएँ