eval()函数
eval(<字符串>)函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串,并将放回结果输出。
eval()官方文档里面给出来的功能解释是:将字符串string对象转化为有效的表达式参与求值运算,返回计算结果
eval(expression,globals=None, locals=None)
# 参数说明:
# expression是一个参与计算的python表达式
globals是可选的参数,如果设置属性不为None的话,就必须是dictionary对象了
locals也是一个可选的对象,如果设置属性不为None的话,可以是任何map对象了
下面给出eval()函数的常见作用:
计算字符串中有效的表达式,并返回结果
>>>eval("1+2")
3
>>>eval('1+2')
3
例题:数值运算
描述:
获得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
示例:
输入:10 + 100
输出:110.00
输入:1/20
输出: 0.05
s=input()
a=eval(s)
print("{:.2f}".format(a))
简单来说,就是eval():去掉参数最外侧引号并执行余下语句的函数
>>>eval(" '1+2' ")
'1+2'
#去掉外部一对双引号后,剩下的‘1+2’被解释为字符串
>>>eval(' "1+2" ')
"1+2"
如果直接输入eval(“Hello world”)因为eval()函数去掉外部的双引号后,成为变量Hello world,而之前没有定义过该变量,所以会报错。