Issue #28556: Allow defining methods in NamedTuple class syntax (#362)

This commit is contained in:
Guido van Rossum 2017-01-22 17:47:20 -08:00
parent d7adfe129c
commit 95919c096c
2 changed files with 31 additions and 5 deletions

View file

@ -2000,6 +2000,10 @@ class NamedTupleMeta(type):
default_names=', '.join(defaults_dict.keys())))
nm_tpl.__new__.__defaults__ = tuple(defaults)
nm_tpl._field_defaults = defaults_dict
# update from user namespace without overriding special namedtuple attributes
for key in ns:
if not hasattr(nm_tpl, key):
setattr(nm_tpl, key, ns[key])
return nm_tpl