Stavolta la faccio breve, mi capita ogni tanto di dovere ricorrere ad un tipo che ricordi gli enum del C con l'associazione numerica delle chiavi, una versione basica (dove gli indici sono progressivi senza poterne settare i valori) potrebbe essere: class Enum(): def __init__(self, a_list): self.a_list = a_list def __getattr__(self, name): if name in self.a_list: return self.a_list.index(name) raise AttributeError l'uso è assai semplice: Colors = Enum(['red', 'white', 'green', 'orange']) print Colors.white # 1 :-)
riflessioni personali su unix/osx/programmazione e grafica...