Paul McGuire wrote:
> class Constants(object):
>     pass
> 
> Then I defined the context for my LEFT and RIGHT constants, which are being 
> created to specify operator associativity, and then my constant fields as 
> attributes of that object:
> 
> opAssoc = Constants(object)
> opAssoc.RIGHT = 0
> opAssoc.LEFT = 1

I like something like:

     class Constants(object):
         def __init__(self, **kw):
             for name, val in kw.iteritems():
                 setattr(self, name, val)
Then:
     opAssoc = Constants(RIGHT=0, LEFT=1)

> In your example, this would look something like:
> 
> fileusage = Constants()
> fileusage.Transcript = 1
> fileusage.TextMode = 2

     fileusage = Constants(Transcript=1, TextMode=2)
     filemode = Constants(Read=1, Write=2, Append=4)
     filemode.WriteAppend = filemode.Write | filemode.Append

class Constants then becomes a nice place to define methods
to convert values to associated names for debugging and such.

--Scott David Daniels
[EMAIL PROTECTED]
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to