【学习笔记】evel 函数

229 阅读1分钟

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调用终端命令,剩下的操作就会带来安全隐患