Merged revisions 62007 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r62007 | georg.brandl | 2008-03-28 13:58:26 +0100 (Fr, 28 Mär 2008) | 2 lines #2502: add example how to do enum types with named tuples. ........
This commit is contained in:
parent
6ff4b3ca7b
commit
72c82a4d62
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue