Python – Simulate talking enums and bitsflags

Enum

“id” of entry is rising 1 by 1 (seen at http://stackoverflow.com/questions/36932/how-can-i-represent-an-enum-in-python)

def enum(*sequential):
 enums = dict(zip(sequential, range(len(sequential)) ))
return type('Enum', (), enums)

Bitflags

“id” of entry is rising exponentialto power of 2 to allow check for multiple bits

def bitflag(*sequential):
 bitflags = dict(zip(sequential, [2**i for i in range(len(sequential))] ))
 return type('Bitflag', (), bitflags)

Comments are closed.