【Python系列】eval 函数

1. 基本概念

  • eval() 是 python 中功能非常强大的一个函数
  • 将字符串当成有效的表达式来求值,并返回计算结果
  • 所谓表达式就是:eval 这个函数会把里面的字符串参数的引号去掉,把中间的内容当成Python的代码,eval 函数会执行这段代码并且返回执行结果
  • 也可以这样来理解:eval() 函数就是实现 list、dict、tuple、与str 之间的转化
  • 安全性是 eval 最大的缺点

2. 使用举例

1 基本的数学运算

# 1. 基本的数学运算
 
result = eval("1 + 1")
print(result)  # 2

2 字符串重复

# 2. 字符串重复
result = eval("'+' * 5")
print(result)  # +++++

3 将字符串转换成列表

# 3. 将字符串转换成列表
a = "[1, 2, 3, 4]"
result = type(eval(a))
print(result)  # <class 'list'>

4 将字符串转换成字典

result = type(eval("{'name': '小夏', 'age': 30}"))
print(result)  # <class 'dict'>

3. eval 函数运用—— 计算器

要求:

【Python系列】eval 函数 1.提示用户输入一个加减乘除混合运算
【Python系列】eval 函数 2.返回计算结果

代码:

input_number = input("请输入一个加减乘除运算公式:")
print(eval(input_number))

执行结果:
在这里插入图片描述

4. 不要滥用 eval()

  • 在开发时千万不要使用eval直接转换input的结果
  • 因为如果用户直接通过os这个模块来调用system方法可以执行任何的终端命令,这样细想很恐怖,家底都给暴露出来了

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年3月8日 下午8:15
下一篇 2023年3月8日 下午8:16

相关推荐