bpo-44344: Document that pow can return a complex number for non-complex inputs. (GH-27853) (GH-29135)

Co-authored-by: Ɓukasz Langa <lukasz@langa.pl>
(cherry picked from commit 887a55705bb6c05a507c2886c9978a9e0cff0dd7)

Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index f4c3ef4..6894554 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1357,7 +1357,10 @@
    operands, the result has the same type as the operands (after coercion)
    unless the second argument is negative; in that case, all arguments are
    converted to float and a float result is delivered.  For example, ``pow(10, 2)``
-   returns ``100``, but ``pow(10, -2)`` returns ``0.01``.
+   returns ``100``, but ``pow(10, -2)`` returns ``0.01``.  For a negative base of
+   type :class:`int` or :class:`float` and a non-integral exponent, a complex
+   result is delivered.  For example, ``pow(-9, 0.5)`` returns a value close
+   to ``3j``.
 
    For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must
    also be of integer type and *mod* must be nonzero. If *mod* is present and