summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2016-02-10 09:46:56 -0800
committerGuido van Rossum <guido@python.org>2016-02-10 09:46:56 -0800
commit3fb5612e085bb9fd979057372978c0ad08c29226 (patch)
tree39150f722a64d73013810fc7f6342ddc4b8a954d
parent5b613dd810b6cd0c44478cf9024db41675f7e02a (diff)
downloadcpython-git-3fb5612e085bb9fd979057372978c0ad08c29226.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