eval()函数
把一个字符串当成一个表达式来执行, 返回表达式执行后的结果
语法:
eval(string_code, globals=None, locals=None)
x = 100
y = 200
# 执行x+y
# z = x + y
z1 = x + y
z2 = eval("x+y")
print(z1)
print(z2)
300
300
从上式可以看出,z1、z2语句不同,输出结果一样,eval就是能将字符串里内容执行后并返回。
exec()函数
跟eval函数类似,能够将字符串当一个表达式来执行,但是不能返回执行的结果,而是一个None。
语法:
exec(string_code, globals=None, locals=None)
# exec示例
x = 100
y = 200
# 执行x+y
# z = x + y
z1 = x + y
# 1, 注意字符串中引号的写法
# 2. 比对exec执行结果和代码执行结果
z2 = exec("print('x+y:', x+y)")
print(z1)
print(z2)
x+y: 300
300
None
eval()、exec()函数都能和print()函数一样,直接打印出内部的元素。