From: Guido van Rossum Date: Tue, 25 Oct 2016 16:53:11 +0000 (-0700) Subject: Issue #28107: Update typing module documentation for NamedTuple (Ivan) X-Git-Tag: v3.6.0b3~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ec24314cd4a8b8c649d57fddad20d2a53fef1d5;p=thirdparty%2FPython%2Fcpython.git Issue #28107: Update typing module documentation for NamedTuple (Ivan) --- diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index bbf5db6891bc..a0666fed39ac 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -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,