[Python-checkins] bpo-34336: Don't promote possibility to leave out typing.Optional (#8677)

Ivan Levkivskyi webhook-mailer at python.org
Sun Aug 5 12:38:07 EDT 2018


https://github.com/python/cpython/commit/336c945858055059a65134d4c501a85037d70d99
commit: 336c945858055059a65134d4c501a85037d70d99
branch: master
author: Ville Skyttä <ville.skytta at iki.fi>
committer: Ivan Levkivskyi <levkivskyi at gmail.com>
date: 2018-08-05T17:38:04+01:00
summary:

bpo-34336: Don't promote possibility to leave out typing.Optional (#8677)

files:
M Doc/library/typing.rst

diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 91d10e324cae..23a64156c592 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -990,10 +990,18 @@ The module defines the following classes, functions and decorators:
 
    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.
+   default does not require the ``Optional`` qualifier on its type
+   annotation just because it is optional. For example::
+
+      def foo(arg: int = 0) -> None:
+          ...
+
+   On the other hand, if an explicit value of ``None`` is allowed, the
+   use of ``Optional`` is appropriate, whether the argument is optional
+   or not. For example::
+
+      def foo(arg: Optional[int] = None) -> None:
+          ...
 
 .. data:: Tuple
 



More information about the Python-checkins mailing list