【python】eval函数

1.eval函数的语法及用法

(1)语法:eval(expression)

参数说明:

  • expression:必须为字符串表达式,可为算法,也可为input函数等。

说明:表达式必需是字符串,否则会报错,比如直接输入数值会报错为:“TypeError: eval() arg 1 must be a string, bytes or code object”,如下图所示。

(2)作用:接收运行一个字符串表达式,返回表达式的结果值。

常用来将一个字符串进行求值。

GaugeLevelKeyPointModel = {'index': 1005}
GaugeLevelDetectionModel = {'index': 1000} 
# 请勿修改以下代码
all_model_names = [name for name in locals() if name.endswith('Model')]  ## 找出local中以Model结尾的变量
print(all_model_names)
model_dict = {}
for model in all_model_names:
    model_dict[eval(model)['index']] = model  # eval(model) 将model的值识别为字典

print(model_dict)

输出:

在这里插入图片描述

2.实例

(1)简单的计算用法

eval('2+3')  #jupyter运行可直接输出结果
 
print(eval('2+3')) #pycharm若需要直接输出改结果可以用print函数输出。

在这里插入图片描述

常用 :例2:将某字符串的数字转为数值型数字。

eval('3')  #jupyter运行可直接输出结果
 
print(eval('3')) #pycharm若需要直接输出改结果可以用print函数输出。

在这里插入图片描述
再例如:



sr ='3'

print(eval(sr))  # pycharm若需要直接输出改结果可以用print函数输出。
print(eval(sr)+7)

输出:
在这里插入图片描述

例3:先有一个x=233,求x+123的值。

x = 233
eval('x+123')

在这里插入图片描述

(2)与其它函数结合使用,比如结合input函数使用。

例1:提示用户输入目标值,并用于计算。

x = eval(input('请输入数字:'))
y = x + 234
print(y)

在这里插入图片描述

(3)与while语句、input函数结合使用。

例:不断循环计算两个参数输入的加法值,相当于计算器输入两个值相加。

while True:
    x = eval(input('请输入数字:'))  #输入一个x值
    y = eval(input('请输入数字:'))  #输入y值
    z = x + y  #相加
    print(z)  #输出z的值

在这里插入图片描述

(4)与input函数以及if条件语句、while语句一起结合使用。

例: 无限输入成绩数值判断成绩等级。

while True:
    score = eval(input('输入数值:'))
    if score >= 90:
        print('优秀')
    elif score >=80:
        print('良好')
    elif score >= 70:
        print('一般')
    elif score >= 60:
        print('及格')
    else:
        print('不及格')

在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超好的小白

没体验过打赏,能让我体验一次吗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值