On Fri, Sep 16, 2016 at 03:54:18AM +1000, Chris Angelico wrote: > On Fri, Sep 16, 2016 at 3:03 AM, Steven D'Aprano <st...@pearwood.info> wrote: > > On Wed, Sep 14, 2016 at 09:51:32PM +1000, Chris Angelico wrote: > > > >> Perhaps the advice needs to be along the lines of: Decide what the > >> purpose of the enum is, and follow a naming convention accordingly. > >> Uppercase if you're basically making constants; lowercase if you're > >> not; etcetera. > > > > I can't think of any situation where Enums would *not* be treated as > > constants. Can you give an example? > > Sometimes they function as integer constants (esp IntEnum), and > sometimes more as just arbitrary values. See the examples in the docs > [1] for Color and Mood, where the exact value is immaterial, just as > long as Color.red is not Color.blue. Even though they happen to have > integer values, they're not intended to be used as actual integers.
Yes, but when would you write something like this? Color.red = <new Enumeration value> That's not to be confused with the case: text_colour = Color.RED # later... text_colour = Color.BLUE where *text_colour* is clearly used as a variable, not a constant. But the enumerations themselves are still constant. -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/