目录
一、基本知识
返回传入字符的表达式的结果。即将字符串当成有效的表达式,进行运算、求值并返回结果。
从某种意义上说,eval就是实现list、dict、tuple和 str 之间的相互转换。
作用:
eval()函数又称为评估函数,作用是去掉参数中最外层引号并执行剩余语句
二、具体实例
代码:
print(eval('1'))
print(eval('1+2'))
结果:
1
3
也就是说,eval()将内部的字符串(用引号引起来的内容)看作表达式进行计算。
进一步分析:我们看看他们的数据类型
代码:
print(type('1+2'))
print(type(eval('1+2')))
结果:
<class 'str'>
<class 'int'>
可以看出,eval()将字符串转换为int类型。
注意:
eval函数的参数必须为字符串,否则将报错
示例:
print(eval(1+2))
结果:
TypeError: eval() arg 1 must be a string, bytes or code object
出现了报错。
三、项目应用
代码:
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
#需要用eval进行转换,将字符串str类型转换为int类型,只有这样才可以进一步进行计算
重点看这一部分:
需要用eval进行转换,将字符串str类型转换为int类型,只有这样才可以进一步进行计算
总结
- 作用 只去掉最外层引号
- eval()的参数形式为字符串或字符串变量,在程序中可以将字符串形式的输入值转化为数字进行计算。