Issue #28107: Update typing module documentation for NamedTuple (Ivan) (3.6->3.7)

This commit is contained in:
Guido van Rossum 2016-10-25 09:54:11 -07:00
commit 398134d50c
1 changed files with 13 additions and 4 deletions

View File

@ -677,23 +677,32 @@ The module defines the following classes, functions and decorators:
``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, or
``Match[bytes]``.
.. function:: NamedTuple(typename, fields)
.. class:: NamedTuple
Typed version of namedtuple.
Usage::
Employee = typing.NamedTuple('Employee', [('name', str), ('id', int)])
class Employee(NamedTuple):
name: str
id: int
This is equivalent to::
Employee = collections.namedtuple('Employee', ['name', 'id'])
The resulting class has one extra attribute: _field_types,
The resulting class has one extra attribute: ``_field_types``,
giving a dict mapping field names to types. (The field names
are in the _fields attribute, which is part of the namedtuple
are in the ``_fields`` attribute, which is part of the namedtuple
API.)
Backward-compatible usage::
Employee = NamedTuple('Employee', [('name', str), ('id', int)])
.. versionchanged:: 3.6
Added support for :pep:`526` variable annotation syntax.
.. function:: NewType(typ)
A helper function to indicate a distinct types to a typechecker,