diff options
author | Raymond Hettinger <python@rcn.com> | 2017-01-28 20:17:07 -0800 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2017-01-28 20:17:07 -0800 |
commit | 1485933297d5762dda4e9b7297412e7dd02a8315 (patch) | |
tree | c6405d014026d49a0956dc3456de29824ba7824d | |
parent | db58e46a50818a49b606b66d404f4c272e84ba2e (diff) | |
parent | 4d8d8f83307efee9a4f79d354b4db99455d1af20 (diff) | |
download | cpython-1485933297d5762dda4e9b7297412e7dd02a8315.tar.gz |
merge
-rw-r--r-- | Doc/library/typing.rst | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index cd59d10ca2..efae67a6b7 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -735,10 +735,21 @@ The module defines the following classes, functions and decorators: Employee = collections.namedtuple('Employee', ['name', 'id']) - 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 - API.) + To give a field a default value, you can assign to it in the class body:: + + class Employee(NamedTuple): + name: str + id: int = 3 + + employee = Employee('Guido') + assert employee.id == 3 + + Fields with a default value must come after any fields without a default. + + The resulting class has two extra attributes: ``_field_types``, + giving a dict mapping field names to types, and ``field_defaults``, a dict + mapping field names to default values. (The field names are in the + ``_fields`` attribute, which is part of the namedtuple API.) Backward-compatible usage:: @@ -747,6 +758,9 @@ The module defines the following classes, functions and decorators: .. versionchanged:: 3.6 Added support for :pep:`526` variable annotation syntax. + .. versionchanged:: 3.6.1 + Added support for default values. + .. function:: NewType(typ) A helper function to indicate a distinct types to a typechecker, |