mirror of https://github.com/python/cpython
Docs on named tuple's naming conventions and limits of subclassing
This commit is contained in:
parent
581671419f
commit
ac5742e0fe
|
@ -446,7 +446,8 @@ by the :mod:`csv` or :mod:`sqlite3` modules::
|
|||
print emp.name, emp.title
|
||||
|
||||
In addition to the methods inherited from tuples, named tuples support
|
||||
three additional methods and one attribute.
|
||||
three additional methods and one attribute. To prevent conflicts with
|
||||
field names, the method and attribute names start with an underscore.
|
||||
|
||||
.. method:: somenamedtuple._make(iterable)
|
||||
|
||||
|
@ -533,6 +534,11 @@ faster versions that bypass error-checking and that localize variable access::
|
|||
def _replace(self, _map=map, **kwds):
|
||||
return self._make(_map(kwds.get, ('x', 'y'), self))
|
||||
|
||||
Subclassing is not useful for adding new, stored fields. Instead, simply
|
||||
create a new named tuple type from the :attr:`_fields` attribute::
|
||||
|
||||
>>> Pixel = namedtuple('Pixel', Point._fields + Color._fields)
|
||||
|
||||
Default values can be implemented by using :meth:`_replace` to
|
||||
customize a prototype instance::
|
||||
|
||||
|
|
Loading…
Reference in New Issue