Enum, IntEnum¶

Convenient constructs for defining predetermined enumerations.

In [2]:
from enum import Enum, auto
import random

class Currency(Enum):
    euro = 1
    us_dollar = 2
    yuan = auto()

local_currency = Currency.us_dollar
print(local_currency)

local_currency = Currency['yuan']  # May raise a KeyError exception
print(local_currency)

local_currency = Currency(1)  # May raise a KeyError exception
print(local_currency)

print(local_currency.name)
print(local_currency.value)

list_of_members = list(Currency)
member_names    = [e.name for e in Currency]
member_values   = [e.value for e in Currency]
random_member   = random.choice(list(Currency))

print(list_of_members, '\n',
      member_names, '\n',
      member_values, '\n',
      random_member)
Currency.us_dollar
Currency.yuan
Currency.euro
euro
1
[<Currency.euro: 1>, <Currency.us_dollar: 2>, <Currency.yuan: 3>] 
 ['euro', 'us_dollar', 'yuan'] 
 [1, 2, 3] 
 Currency.euro