From 9af9bee60b1ce860bb53e98fdda83f924fa7f720 Mon Sep 17 00:00:00 2001 From: dataxerik Date: Tue, 13 Sep 2022 13:31:52 -0400 Subject: [PATCH] DOCS add docstring examples for eval_code (#3090) part of #1955 --- src/py/_pyodide/_base.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/py/_pyodide/_base.py b/src/py/_pyodide/_base.py index 5178d2cd4..2383b77ad 100644 --- a/src/py/_pyodide/_base.py +++ b/src/py/_pyodide/_base.py @@ -422,6 +422,31 @@ def eval_code( ``None``. If the last statement is an expression, return the result of the expression. Use the ``return_mode`` and ``quiet_trailing_semicolon`` parameters to modify this default behavior. + + Examples + -------- + >>> from pyodide.code import eval_code + >>> source = "1 + 1" + >>> eval_code(source) + 2 + >>> source = "1 + 1;" + >>> eval_code(source, quiet_trailing_semicolon=True) + >>> eval_code(source, quiet_trailing_semicolon=False) + 2 + >>> my_globals = { "y": "100" } + >>> my_locals = { "y": "200" } + >>> source = "print(locals()['y'], globals()['y'])" + >>> eval_code(source, globals=my_globals, locals=my_locals) + 200 100 + >>> source = "test = 1 + 1" + >>> eval_code(source, return_mode="last_expr_or_assign") + 2 + >>> eval_code(source, return_mode="last_expr") + >>> eval_code(source, return_mode="none") + >>> source = "print(pyodide)" # Pretend this is open('example_of_filename.py', 'r').read() + >>> eval_code(source, filename="example_of_filename.py") # doctest: +SKIP + # Trackback will show where in the file the error happened + # ...File "example_of_filename.py", line 1, in ...NameError: name 'pyodide' is not defined """ return ( CodeRunner(