eval函数_python eval()函数使用

一、eval()函数是什么?

Python的一个内置函数;
返回传入字符串的表达式结果(官方)

二、eval()函数语法解析

66bc742343737660d7c8fb6c818d4d81.png

三、eval()函数应用举例

3.1 eval()基本应用举例

6d1793f82f54603d50565ce0b9c3bc3e.png

上述例子中,展示了eval()的3个应用:

  • 把字符串转化为代码表达式求结果,如 66+72
  • 把字符串转化为其它数据类型,如字典、列表、元组、集合等
  • 传递globals参数和locals参数,当两个参数都存在时,先查找locals参数,再查找globals参数,locals参数中同名变量会覆盖globals中的变量

3.2 eval()危害举例

026af54793daff39c5c344cd813cef01.png

上述例子中,eval()将字符串转成表达式并执行,就可以利用其执行系统命令,删除文件等操作。

3.3 ast.literal_eval()替代eval()实现数据类型转换

ae575965c3bc200a2567d91627bb6a0b.png

上述代码也能完成类型转换,但由于没有使用eval(),所以产生的安全风险较小。

literal_eval() 函数:会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。

转自:https://blog.csdn.net/qdPython/article/details/108149133

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值