Python将字符串转换为逻辑运算符

use*_*458 5 python boolean-expression logical-operators string-conversion boolean-operations

例如,如果我有一个类似

x=True or True

如果我在外壳中评估结果为True

print(x)
x=True
Run Code Online (Sandbox Code Playgroud)

所以现在我想将字符串或输入转换为该逻辑表达式,例如

x=raw_input('Please give an expression:')

我知道表达式是一个字符串,那么如何将该字符串转换为逻辑表达式?

print(x)
x="True or True"
Run Code Online (Sandbox Code Playgroud)

Chr*_*ian 5

您可以使用eval()函数:

print eval(x)
Run Code Online (Sandbox Code Playgroud)

请注意,使用时必须小心谨慎。

编辑:

正如 @PriyankPatel 提到的,另一种方法是使用exec

exec("print " + x)
Run Code Online (Sandbox Code Playgroud)