From 1816dfe65f5cba50331342d153e99482b18b2d4e Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 10 Sep 2016 18:49:14 -0700 Subject: [PATCH] Issue #28073: Improve wording around None. Michael Lee. --- Doc/library/typing.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 83a8dcf35ae..640255aefce 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -59,6 +59,9 @@ Type aliases are useful for simplifying complex type signatures. For example:: servers: List[Tuple[Tuple[str, int], Dict[str, str]]]) -> None: ... +Note that ``None`` as a type hint is a special case and is replaced by +``type(None)``. + NewType ------- @@ -148,7 +151,6 @@ For example:: It is possible to declare the return type of a callable without specifying the call signature by substituting a literal ellipsis for the list of arguments in the type hint: ``Callable[..., ReturnType]``. -``None`` as a type hint is a special case and is replaced by ``type(None)``. Generics -------- @@ -443,7 +445,7 @@ The module defines the following classes, functions and decorators: Optional type. - ``Optional[X]`` is equivalent to ``Union[X, type(None)]``. + ``Optional[X]`` is equivalent to ``Union[X, 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