【Python】内置函数eval的妙用

eval函数

eval函数是一个很智能的函数,可以将字符串对象中体现出来的数据类型转换成那个类型的对象,比如:

a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
b = eval(a)
print(type(b))    # list
print(b)		  #[[1,2], [3,4], [5,6], [7,8], [9,0]]

a是一个字符串,但是字符串里是一个list,eval之后就变成了一个list,同理,dict、json、tuple等结构可以用此类方法。

上述例子表示,eval函数就是用来执行一个字符串里的内容,并返回执行结果,举几个例子:

x = 7
eval( '3 * x' )    #21
eval('2 + 2')    #4
s = "{'name':'like'}"
s = eval(s)    
print(type(s))    #dict

这里有一个常用的应用,比如一个json字符串,key和value是被单引号包裹的,此时用json.loads(strs)会报错,就可以直接用 eval(strs) 直接将单引号的json字符串转化为字典去处理。

当然,要小心在实际使用中的注入漏洞。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值