Python内嵌函数eval的应用

简单来说,eval的作用有三点:
1)将字符串类型的数字,列表,字典,元组等转换为对应的数据格式
2)执行字符串类型的语句,比如执行字符串类型的print和pow等等
3)进行字符串类型的数字运算,其实这一点也是属于第二点的,因为这一点是我平时使用eval函数最多的地方,所以单独作为一点作为重点

# 字符串转数字
number = eval("5")
print("%d" % number)

# 字符串转列表
numList = eval("[1,2,3,4,5]")
print(numList)

# 字符串转字典
numDict = eval("{1:'a', 2:'b'}")
print(numDict)

# 字符串转元组
numTuple = eval("(1,2,3,3,2)")
print(numTuple)

# 字符串执行语句
eval("print('a')")
print(eval('pow(2, 3)'))      # 8

# 字符串执行数字运算
print(eval('2+3-(5+2)'))      # -2
print(eval('2+3--(5+2)'))     # 12 -- = +
print(eval('2+3-+(5+2)'))     # -2
print(eval('2+3-(5+2)*5/2'))  # -12.5
print(eval('2**3'))           # 8
print(eval('8%3'))            # 2
print(eval('8//3'))           # 2
# print(eval('2+3-(5+2)+'))   # SyntaxError: unexpected EOF while parsing

# 带参数运算
x = 2
print(eval('x*3'))           # 6

运算结果

5
[1, 2, 3, 4, 5]
{
    
    1: 'a', 2: 'b'}
(1, 2, 3, 3, 2)
a
8
-2
12
-2
-12.5
8
2
2
6

猜你喜欢

转载自blog.csdn.net/qq_33757398/article/details/125923273