enum 0.3: Enumerations in Python

B

Ben Finney

Howdy all,

I've uploaded enum 0.3 to the Cheeseshop.

<URL:http://cheeseshop.python.org/pypi/enum/>

Enumerations are now sequences, iterable (as before) *and* indexable::
>>> from enum import Enum
>>> Weekdays = Enum('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat')
>>> pizza_night = Weekdays[4]
>>> print pizza_night == Weekdays.thu
True

Since the values of an enumeration are directly reflected in the
values and attributes, Enum instances are immutable to preserve this
relationship::
[...]
enum.EnumImmutableError: Enumeration does not allow modification [...]
enum.EnumImmutableError: Enumeration does not allow modification
[...]
enum.EnumImmutableError: Enumeration does not allow modification


The package's long description:

"""This package provides a class for robust enumerations in Python.

An enumeration object is created with a sequence of string
arguments to the Enum() function::

The return value is an immutable sequence object with a value for each
of the string arguments. Each value is also available as an attribute
named from the corresponding string argument::
>>> pizza_night = Weekdays[4]
>>> pixel_colour = Colours.blue

The values are constants that can be compared only with other values
from the same enumeration, but can be coerced to simple strings
matching the original arguments to Enum().

The design is based in part on Zoran Isailovski's recipe, "First
Class Enums in Python" in the ASPN Python Cookbook
<URL:http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/413486>.
"""
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,470
Messages
2,571,809
Members
48,797
Latest member
PeterSimpson
Top