python 基础学习 eval用法

eval()

eval() 解析传递给此函数的表达式,并在python中运行此表达式
语法: eval(expression, globals=None, locals=None)

a = "1+4"
print(eval(a))

b = eval(a)
c = 'b'
print(c)
print(eval(c))

d = 1+4
print(eval(d))

outcome:

5

b
5

Traceback (most recent call last):
  File "try.py", line 9, in <module>
    print(eval(d))
TypeError: eval() arg 1 must be a string, bytes or code object

注意:

  • eval 可以对字符串中的内容做python运行
  • eval 可以传递参数内容,如上述第二例, 将eval()的返回值赋值给变量后,可以通过再次使用eval()传递
  • eval()的输入参数类型必须为 string, bytes 或者 code object, 可以通过把命令转化成string类来避免
  • 注意: eval()存在极大的不安全性,因为它可以使python执行eval输入其中的语句,所以存在被人恶意攻击的危险,比如存在有人试图输入os.system('rm -rf *')来破坏系统的风险,因此在应用领域,需要对eval()中的输入变量进行筛查.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值