定义字符串变量clause1 = "((1 & z[0]) != 0)"
它的eval()给出了BoolRef: 1 & v__a != 0
而我实际上需要BoolRef: ((1 & v__a) != 0)
如何将括号保留在eval()中并评估其他所有内容
答案 0 :(得分:0)
我认为你让eval()
混淆了z[0]
的确切类型,我猜,这里的魔力是什么。我相信如果您尝试直接运行((1 & z[0]) != 0)
,而没有eval()
,则会得到相同的答案BoolRef: 1 & v__a != 0
。我对么?如果是这样,那么你需要查看类BoolRef来修复它如何实现__repr__()
,在最后的字符串中包含一些额外的括号。