eval()函数可以将字符串转化为具体的对象,同时也可以执行字符串表达式,返回字符串的值
一、将字符串转化为具体的对象
l = "[1,2,3]"
print(eval(l)) # 输出列表l-->[1,2,3]
l = "(1,2,3)"
print(eval(l)) # 输出元组l-->(1,2,3)
dict = "{1:"a", 2:"b"}"
print(eval(dict)) # 输出字典dict-->{1:"a", 2:"b"}
二、执行字符串表达式,返回结果值,如果表达式不正确会报错
print(eval("1+2"))
以前遇到过这样一个题,判断一个表达式中的括号是否正确,就可以用eval函数判断表达式是否有返回值来进行判断
# (1+2) 这样是正确的
# (1+2)+3+( 这样的是不正确的
a = input()
if eval(a):
print("YES")
else:
print("NO")