On Tue, Aug 6, 2013 at 1:42 PM, Ethan Furman <et...@stoneleaf.us> wrote:
> A question came up on stackoverflow asking about the Planet example and > the need to have the constant G defined in the method instead of at the > class level: > > http://stackoverflow.com/q/**17911188/208880<http://stackoverflow.com/q/17911188/208880> > > Since methods and descriptors are immune to enumeration my proposed > solution created a Constant descriptor that could be used to keep class > level constants at the class level. It's not complex, only about 7 lines. > Should we have something like that included in the enum module? > > If we do include something like that, should it be constant, or should it > be more like property? (The important differences from property being that > class access still returns the value, not the property itself, and setting > the class-level value changes the value but doesn't replace the property.) > Personally, I dislike all non-simple uses of Enums. One such use is adding behavior to them. This can always be split to separate behavior from the Enum itself, and I would prefer that. We went to great lengths to ensure that things work in expected ways, but heaping additional features (even as separate decorators) is just aggravating thiings. So -1 from me. Finally, I suggest we exercise restraint in adding more capabilities to enums in 3.4; enums are a new creature for Python and it will be extremely useful to see them used in the wild for a while first. We can enhance them in 3.5, but premature enhancement is IMHO much more likely to do harm than good. Eli
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com