Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
定义了一个字符串变量clause1 = "((1 & z[0]) != 0)"
clause1 = "((1 & z[0]) != 0)"
它的 eval()BoolRef: 1 & v__a != 0 在我实际需要时给出BoolRef: ((1 & v__a) != 0)
BoolRef: 1 & v__a != 0
BoolRef: ((1 & v__a) != 0)
如何在 eval() 中保留括号并评估其他所有内容
我认为您对eval()的确切类型感到困惑z[0],我猜想,这里有什么魔力。我相信,如果您尝试((1 & z[0]) != 0)直接运行,不使用eval(),您会得到相同的答案BoolRef: 1 & v__a != 0。我对么?如果是这样,那么您需要查看 BoolRef 类以修复它的实现方式__repr__(),以在最终字符串中包含一些额外的括号。
eval()
z[0]
((1 & z[0]) != 0)
__repr__()