eval(): executes a specified expression string as Python code

eval(object, global,local ) evalute valid python code

object: input object of string or code object
global: (optional ) global dictionary object
local: (optional ) local dictionary object

Using string object

my_str="x='plus2net'\nprint(x)"
eval(my_str)
Output
plus2net

Using code object

We create a code object by using compile()
cb=compile('print("Hello")', '', 'single')
eval(cb)
Output
Hello
my_result = eval('2 + 4')
print(my_result) # Output is 6

Using restrictions

We can allow some functions in global scope only to evalute by using global option. Let us import our math module and find the sum of a iterable_object This will generate error as we have used one empty dictionary ( not allowing any method ) .
import math
my_str="print(math.fsum([1,2,3,4,5]))"
eval(my_str,{})
This will work as we have allowed math.fsum to execute. Output is 15.0
import math
my_str="print(fs([1,2,3,4,5]))"
eval(my_str,{'fs':math.fsum}) 3 15.0

builtin functions

eval() has full access to all builtin functions of Python. This code will not generate any error though we have supplied an empty dictionary ({}) to globals.
my_str="print(sum([1,2,3,4,5]))"
eval(my_str,{})  # 15 
Note that sum() is a builtin function but fsum() is included in math module.
Difference Between eval() and exec()

All Built in Functions in Python dir() compile() exec() repr()
Subscribe to our YouTube Channel here


Subscribe

* indicates required
Subscribe to plus2net

    plus2net.com



    Post your comments , suggestion , error , requirements etc here





    Python Video Tutorials
    Python SQLite Video Tutorials
    Python MySQL Video Tutorials
    Python Tkinter Video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2024 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer