summaryrefslogtreecommitdiffstats
path: root/Lib/collections.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2007-10-16 21:28:32 (GMT)
committerRaymond Hettinger <python@rcn.com>2007-10-16 21:28:32 (GMT)
commitabfd8dff3bd6bd2836e824b185a367c4b6c8e1f4 (patch)
treead46b5d3eab55be40c315627ad575217dfc7e7fd /Lib/collections.py
parent050afbf214ae4066722c966ad653c199ad9c15ec (diff)
downloadcpython-abfd8dff3bd6bd2836e824b185a367c4b6c8e1f4.zip
cpython-abfd8dff3bd6bd2836e824b185a367c4b6c8e1f4.tar.gz
cpython-abfd8dff3bd6bd2836e824b185a367c4b6c8e1f4.tar.bz2
More docs, error messages, and tests
Diffstat (limited to 'Lib/collections.py')
-rw-r--r--Lib/collections.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/collections.py b/Lib/collections.py
index fbc00d1..0feda0a 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -2,6 +2,7 @@ __all__ = ['deque', 'defaultdict', 'named_tuple']
from _collections import deque, defaultdict
from operator import itemgetter as _itemgetter
+from keyword import iskeyword as _iskeyword
import sys as _sys
def named_tuple(typename, field_names, verbose=False):
@@ -35,6 +36,8 @@ def named_tuple(typename, field_names, verbose=False):
for name in (typename,) + field_names:
if not name.replace('_', '').isalnum():
raise ValueError('Type names and field names can only contain alphanumeric characters and underscores: %r' % name)
+ if _iskeyword(name):
+ raise ValueError('Type names and field names cannot be a keyword: %r' % name)
if name[0].isdigit():
raise ValueError('Type names and field names cannot start with a number: %r' % name)
seen_names = set()