On Apr 16, 10:13 am, Dave Angel <da...@ieee.org> wrote: > > For the Color example, how's this for a starting place: > > class Color(object): > def __init__(self, name, enum): > self.enum = enum > self.name = name > setattr(Color, name, self) > > @staticmethod > def seal(): > del Color.__init__ > del Color.seal > > def __str__(self): > return self.name > > Color("RED", 4) > Color("GREEN", 11) > Color.seal() #prevent any new instances from being created > > b = Color.RED > print type(b) > print str(b) > > a = Color.GREEN > print a
So when you use Color.GREEN in an expression or pass it as a function/ method argument, it produces "GREEN" ... doesn't emulation of a C- style enum require it to produce 11? > print a.enum -- http://mail.python.org/mailman/listinfo/python-list