内置函数 eval() 函数用来计算字符串的值,在有些场合也可以用来实现类型转换的功能。除此之外,eval() 也可以对字节串进行求值,还可以执行内置函数 compile() 编译生成的代码对象。
print(eval(b'3+5'))
print([eval('8'), type(eval('8'))]) # 把数字字符串转换为数字
# print(eval('09')) 抛出异常,不允许以0开头的数字
print(int('09'))
eval() 并不对参数字符串进行安全性检查,如果精心构造一些语句可能会引发安全漏洞,应尽量使用标准库 ast 提供的安全求值函数 literal_eval()。