मैं इस पैटर्न देखा है कई बार:
>>> class Enumeration(object):
def __init__(self, names): # or *names, with no .split()
for number, name in enumerate(names.split()):
setattr(self, name, number)
>>> foo = Enumeration("bar baz quux")
>>> foo.quux
2
आप, साथ ही वर्ग के सदस्यों का उपयोग कर सकते हैं, हालांकि आप अपने खुद के नंबर की आपूर्ति करना होगा:
>>> class Foo(object):
bar = 0
baz = 1
quux = 2
>>> Foo.quux
2
हैं आप कुछ और मजबूत (स्पैस वैल्यू, एनम-विशिष्ट अपवाद इत्यादि) की तलाश में हैं, try this recipe।
स्रोत
2009-03-31 20:21:51
अब पायथन 3.4 में मानक एनम प्रकार है। इस पोस्ट को पढ़ें: http://stackoverflow.com/questions/16653129/future-compatible-enums-in-2-7 – Javier
एनम प्रकार के लिए पीईपी है जो अब पाइथन में है: https: //www.python। संगठन/देव/पेप्स/पेप-0435/ – shuttle87