Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
"Evaluating Python code without any preparsing"
""" Allows for evaluating a chunk of code without any preparsing. """
r""" Evaluate x with given globals; locals is completely ignored. This is specifically meant for evaluating code blocks with ``%python`` in the notebook.
INPUT:
x -- a string globals -- a dictionary locals -- completely IGNORED
EXAMPLES::
sage: from sage.misc.python import Python sage: python = Python() sage: python.eval('2+2', globals()) 4 ''
Any variables that are set during evaluation of the block will propagate to the globals dictionary. ::
sage: python.eval('a=5\nb=7\na+b', globals()) 12 '' sage: b 7
The locals variable is ignored -- it is there only for completeness. It is ignored since otherwise the following will not work::
sage: python.eval("def foo():\n return 'foo'\nprint(foo())\ndef mumble():\n print('mumble {}'.format(foo()))\nmumble()", globals()) foo mumble foo '' sage: mumble <function mumble at ...> """ return '' except SyntaxError: s += '\n' + t z = None
|