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 函数运用—— 计算器
要求:
~~~~~~
1.提示用户输入一个加减乘除混合运算
~~~~~~
2.返回计算结果
代码:文章来源:https://www.toymoban.com/news/detail-844232.html
input_number = input("请输入一个加减乘除运算公式:")
print(eval(input_number))
执行结果:
文章来源地址https://www.toymoban.com/news/detail-844232.html
4. 不要滥用 eval()
- 在开发时千万不要使用
eval直接转换input
的结果 - 因为如果用户直接通过os这个模块来调用system方法可以执行任何的终端命令,这样细想很恐怖,家底都给暴露出来了
到了这里,关于【Python系列】eval 函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!