On Mon, Apr 29, 2013 at 2:59 PM, Ethan Furman <ethan at stoneleaf.us> wrote: > In the Planet example we saw the possibility of specifying arguments to > enum item __init__: > > class Planet(Enum): > MERCURY = (3.303e+23, 2.4397e6) > VENUS = (4.869e+24, 6.0518e6) > EARTH = (5.976e+24, 6.37814e6) > MARS = (6.421e+23, 3.3972e6) > JUPITER = (1.9e+27, 7.1492e7) > SATURN = (5.688e+26, 6.0268e7) > URANUS = (8.686e+25, 2.5559e7) > NEPTUNE = (1.024e+26, 2.4746e7) > > def __init__(self, mass, radius): > self.mass = mass # in kilograms > self.radius = radius # in meters > > Do we want to support this? > I'm -1, and this is yet another bad sign of conflating enums with classes. If planets want to have attributes and behaviors, let them be normal classes. If they want a PlanetId *enum member*, that's OK, but there's no need to intermix the two. Besides, did we not agree that the only acceptable *members* for enums are going to be descriptors? In the above, mass & radius are not descriptors. Eli -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130429/d9fa59b9/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4