]> granicus.if.org Git - python/commitdiff
Hopefully clarify the difference between Optional[t] and an optional argument.
authorGuido van Rossum <guido@python.org>
Wed, 10 Feb 2016 17:48:58 +0000 (09:48 -0800)
committerGuido van Rossum <guido@python.org>
Wed, 10 Feb 2016 17:48:58 +0000 (09:48 -0800)
Doc/library/typing.rst

index 41f594ecc4d0789c1370652567d715b59903ecfc..12b5490b667e0c2237014faa3cc658de091c4cf0 100644 (file)
@@ -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