擅长:python、mysql、java
<p>这是一个bug,它已经在SymPy的开发版本中修复了,并将在下一个版本中修复。如果您不能使用git版本并且迫不及待,一种解决方法是将<code>sympy.logic.boolalg.Boolean</code>中的monkeypatch<code>__rxor__</code>(依此类推)等于<code>sympy.logic.boolalg.Boolean.__xor__</code>。在</p>
<pre><code>In [1]: from sympy.logic.boolalg import Boolean
In [2]: Boolean.__rxor__ = Boolean.__xor__
In [3]: True ^ x
Out[3]: ¬ x
</code></pre>
<p>顺便说一下,<code>Symbol('x', bool=True)</code>什么也不做。它将假设<code>x.is_bool</code>添加到符号中,但由于这不是SymPy所知道的真实假设,所以它什么也做不了。在</p>