summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorErlend E. Aasland <erlend@python.org>2024-02-28 13:03:50 (GMT)
committerGitHub <noreply@github.com>2024-02-28 13:03:50 (GMT)
commita71e32ce8e183023fc1ee401c22ebe35e4832f09 (patch)
tree059d97d295f095123c2a04d20b93202d560d32b2 /Doc
parent7acf1fb5a70776429bd99e741d69471eb2d1c1bb (diff)
downloadcpython-a71e32ce8e183023fc1ee401c22ebe35e4832f09.zip
cpython-a71e32ce8e183023fc1ee401c22ebe35e4832f09.tar.gz
cpython-a71e32ce8e183023fc1ee401c22ebe35e4832f09.tar.bz2
gh-78612: Mark up eval() using param list (#115212)
Also mention that the 'expression' parameter can be a string.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/functions.rst20
1 files changed, 15 insertions, 5 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index a4852b9..e598ef4 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -526,9 +526,20 @@ are always available. They are listed here in alphabetical order.
.. function:: eval(expression, globals=None, locals=None)
- The arguments are a string and optional globals and locals. If provided,
- *globals* must be a dictionary. If provided, *locals* can be any mapping
- object.
+ :param expression:
+ A Python expression.
+ :type expression: :class:`str` | :ref:`code object <code-objects>`
+
+ :param globals:
+ The global namespace (default: ``None``).
+ :type globals: :class:`dict` | ``None``
+
+ :param locals:
+ The local namespace (default: ``None``).
+ :type locals: :term:`mapping` | ``None``
+
+ :returns: The result of the evaluated expression.
+ :raises: Syntax errors are reported as exceptions.
The *expression* argument is parsed and evaluated as a Python expression
(technically speaking, a condition list) using the *globals* and *locals*
@@ -545,8 +556,7 @@ are always available. They are listed here in alphabetical order.
:term:`nested scopes <nested scope>` (non-locals) in the enclosing
environment.
- The return value is the result of
- the evaluated expression. Syntax errors are reported as exceptions. Example:
+ Example:
>>> x = 1
>>> eval('x+1')