Python中eval函数的正确用法及TypeError报错解决方法
问题分析与解决
报错原因
eval()函数的作用是执行字符串形式的Python表达式,它要求传入的第一个参数必须是字符串、字节对象或者代码对象。你代码里的eval(4+3)中,4+3会被Python先计算成整数7,直接把整数传给eval()不符合参数类型要求,因此触发TypeError。
修正方案
根据需求,有两种修正方式:
方式一:直接计算(无需eval)
如果只是想得到4+3的结果,完全不需要使用eval(),直接写表达式即可:
a=list(input("enter some values")) b=eval(input("enter some values")) print(a) print(b) c=4+3 # 直接计算表达式 print(c)
方式二:正确使用eval(传入字符串表达式)
如果是想测试eval()的用法,需要把表达式以字符串形式传入:
a=list(input("enter some values")) b=eval(input("enter some values")) print(a) print(b) c=eval("4+3") # 传入字符串格式的表达式 print(c)
内容的提问来源于stack exchange,提问作者Bot Developer
相关产品推荐
相关产品推荐

