evel 函数 十分的强大 -- 将字符串 当成 有效表达式 来求值并 返回计算结果
# 基本的数学计算
eval("1 + 1")
>>>
2
# 字符串重复
eval("'*' * 10")
>>>
'**********'
# 将字符串转换成列表
type(eval("{'name':'cici','age':8}"))
>>>
dict
# 简单案例 计算器
input_str = input("请输入算术题:")
print(eval(input_str))
不要滥用eval函数
在开发的时候,千万不要使用
eval直接转换input的结果
__import__('os').system('ls')
- 等价代码
import os
os.system('终端命令')
- 执行成功返回 0
- 执行失败,返回错误信息
用户如果使用eval调用终端命令,剩下的操作就会带来安全隐患