作用:将字符串变为有效的表达式进行求值并计算返回结果
语法:eval
(expression[, globals[, locals]])
实参是一个字符串以及可选参数的globals和locals
global实参必须是一个字典
local可以是任何映射对象
使用途径:
input()函数返回一个字符串,eval()能够将input()函数传入的字符串转换为可以实现表达式计算的值
如:未使用eval()
a=input()
b=1
sum=a+b
print(sum)
结果为:
Traceback (most recent call last):
File "D:\Users\john\PycharmProjects\pythonProject\python_make\fuction_python\example.py", line 3, in
sum=a+b
TypeError: can only concatenate str (not "int") to str
系统报错,无法进行字符串和整形相加,需要将a转换为整形
使用eval()
a=eval(input())
b=1
print(a+b)
1
2
系统正常运行,eval()函数将a转换为int类型和b运算
eval()函数可以实现list(列表),dict(字典),tuple(元组)和str之间的转换,同样的str()函数可以将list,dict,tuple转换为字符串
注意,eval() 无法访问闭包环境中的 嵌套作用域 (非局部变量)
本人未Python初学者可能文章中有些许错误,如有发现请指出