如你所见,ifinner是一个字符串,所以如果我只是在if之后写,那么它将始终为真。我该怎么做才能使其与源代码一致?
x=2
ifinner = "x==3"
if ifinner:
print("Yeah")
else:
print("It works!")
你可以使用eval()
函数来评估Python源代码。
引用文档:
eval(表达式,全局变量=无,本地变量=无)
参数是一个字符串,以及可选的globals和locals。如果提供,则全局变量必须是字典。如果提供的话,本地变量可以是任何映射对象。
但切勿使用
eval
任何不是您自己创建的字符串(或来自可信来源的字符串)!