summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/collections.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 7966a2e..7827700 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -547,6 +547,16 @@ by the :mod:`csv` or :mod:`sqlite3` modules::
for emp in map(EmployeeRecord._make, cursor.fetchall()):
print(emp.name, emp.title)
+Named tuples can also be used to generate enumerated constants:
+
+.. testcode::
+
+ def enum(*names):
+ return namedtuple('Enum', ' '.join(names))(*range(len(names)))
+
+ Status = enum('open', 'pending', 'closed')
+ assert (0, 1, 2) == (Status.open, Status.pending, Status.closed)
+
In addition to the methods inherited from tuples, named tuples support
three additional methods and one attribute. To prevent conflicts with
field names, the method and attribute names start with an underscore.