[Python-checkins] bpo-47031: Improve documentation for `math.nan` (GH-32170)

miss-islington webhook-mailer at python.org
Sat Apr 2 16:23:30 EDT 2022


https://github.com/python/cpython/commit/5b80031fb0d2ea14f0d42a33309ce5464c4a6042
commit: 5b80031fb0d2ea14f0d42a33309ce5464c4a6042
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-04-02T13:23:26-07:00
summary:

bpo-47031: Improve documentation for `math.nan` (GH-32170)


Co-authored-by: Jelle Zijlstra <jelle.zijlstra at gmail.com>
(cherry picked from commit 182e93c3f57b0c72e765c9896066d32e461c0865)

Co-authored-by: Charlie Zhao <zhaoyu_hit at qq.com>

files:
M Doc/library/math.rst

diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index b20e557b5c610..9783e9ef825d5 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -622,8 +622,23 @@ Constants
 
 .. data:: nan
 
-   A floating-point "not a number" (NaN) value.  Equivalent to the output of
-   ``float('nan')``.
+   A floating-point "not a number" (NaN) value. Equivalent to the output of
+   ``float('nan')``. Due to the requirements of the `IEEE-754 standard
+   <https://en.wikipedia.org/wiki/IEEE_754>`_, ``math.nan`` and ``float('nan')`` are
+   not considered to equal to any other numeric value, including themselves. To check
+   whether a number is a NaN, use the :func:`isnan` function to test
+   for NaNs instead of ``is`` or ``==``.
+   Example::
+
+      >>> import math
+      >>> math.nan == math.nan
+      False
+      >>> float('nan') == float('nan')
+      False
+      >>> math.isnan(math.nan)
+      True
+      >>> math.isnan(float('nan'))
+      True
 
    .. versionadded:: 3.5
 



More information about the Python-checkins mailing list