summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2016-02-10 09:48:58 -0800
committerGuido van Rossum <guido@python.org>2016-02-10 09:48:58 -0800
commite93b06a0a3255026802be19de249b3fdfe955b96 (patch)
tree9a25a8cd72ada9784e925877e9a2ea31c4104335
parent48a583b1d83d9c44c9dd9facb9331737518d6618 (diff)
downloadcpython-git-e93b06a0a3255026802be19de249b3fdfe955b96.tar.gz
Hopefully clarify the difference between Optional[t] and an optional argument.
-rw-r--r--Doc/library/typing.rst7
1 files changed, 7 insertions, 0 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 41f594ecc4..12b5490b66 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -286,6 +286,13 @@ The module defines the following classes, functions and decorators:
``Optional[X]`` is equivalent to ``Union[X, type(None)]``.
+ Note that this is not the same concept as an optional argument,
+ which is one that has a default. An optional argument with a
+ default needn't use the ``Optional`` qualifier on its type
+ annotation (although it is inferred if the default is ``None``).
+ A mandatory argument may still have an ``Optional`` type if an
+ explicit value of ``None`` is allowed.
+
.. class:: Tuple
Tuple type; ``Tuple[X, Y]`` is the is the type of a tuple of two items