On 04/29/2013 03:25 PM, Eli Bendersky wrote:
On Mon, Apr 29, 2013 at 2:59 PM, Ethan Furman 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.
Good point. We can leave that out, then.
--
~Ethan~
_______________________________________________
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