【知识点】eval() 的用法

目录

一、基本知识

二、具体实例

三、项目应用

总结


一、基本知识

返回传入字符的表达式的结果。即将字符串当成有效的表达式,进行运算、求值并返回结果。

从某种意义上说,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')))

结果:


可以看出,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()的参数形式为字符串或字符串变量,在程序中可以将字符串形式的输入值转化为数字进行计算。

你可能感兴趣的:(python,知识小点,python,bug)