1. eval

eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。

语法:

1
eval(expression[, globals[, locals]])
  • expression — 表达式。
  • globals — 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
  • locals — 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
  1. 简单表达式

    1
    2
    print(eval('1 + 2'))	# 3
    print(eval('(1 + 2) * 3')) # 9
  2. 传递全局变量

    1
    2
    print(eval("{'name':'linux','age':age}",{"age":1822}))
    # {'name': 'linux', 'age': 1822}
  3. 传递本地变量

    1
    2
    3
    age=18
    print(eval("{'name':'linux','age':age}",{"age":1822},locals()))
    # {'name':'linux','age':18}