欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础函数 eval

程序员文章站 2024-03-23 17:33:40
...
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
  • 注意: eval()存在极大的不安全性,因为它可以使python执行eval输入其中的语句,所以存在被人恶意攻击的危险,比如存在有人试图输入os.system('rm -rf *')来破坏系统的风险,因此在应用领域,需要对eval()中的输入变量进行筛查.