Friday, December 27, 2019

Enum vs Named tuple in Python

Enum vs Named tuple

  1. enums are a way of aliasing values, 
  2. namedtuple is a way of encapsulating data by name. 
  3. The two are not really interchangeable, 
 Example :

from collections import namedtuple
from enum import Enum

class HairColor(Enum):
    blonde = 1
    brown = 2
    black = 3
    red = 4

Person = namedtuple('Person', ['name','age','hair_color'])
bert = Person('Bert', 5, HairColor.black)

 you can use enums as values in  namedtuple.


No comments:

Post a Comment