eval()
函数 – 将字符串当成有效的表达式来求值并返回计算结果
# 基本的数学计算
a = eval('1+1')
print(a) # Output:2
# 字符串重复
b = eval("'*' * 10")
print(b) # Output:**********
# 将字符串转换成列表
c = type(eval('[1,2,3,4,5]'))
print(c) # Output:<class 'list'>
# 将字符串转换成字典
d = type(eval('{"a":1,"b":2,"c":3}'))
print(d) # Output:<class 'dict'>
举个栗子 - 计算器
需求:
-
提示用户输入一个加减乘除混合运算
-
返回计算结果
input_str = input('请输入一个算术题: ')
print(eval(input_str))
Output:
请输入一个算术题: 3*2
6
不要滥用eval
- 在开发时千万不要使用
eval
直接转换input
结果- 用户可以通过以下命令直接对系统文件进行操作
__import__('os').system('ls')