SymPy – 逻辑表达式
布尔函数被定义在 sympy.basic.booleanarg模块 中 。 我们可以用标准的python操作符& (And), | (Or), ~ (Not)以及>>和<<来建立布尔表达式。布尔表达式继承于SymPy核心模块中定义的Basic类。
BooleanTrue函数
这个函数相当于核心 Python 中的 True。它返回一个单子,可以通过S.true来检索。
上述代码片断给出了以下输出结果 −
(True, True)
BooleanFalse函数
同样地,这个函数在Python中相当于布尔型的False,可以通过S.false访问
上述代码片断给出了以下输出结果 −
(False, False)
And 函数
逻辑和函数评估其两个参数,如果其中一个是假的,则返回假。该函数模拟了&操作符。
上述代码片断给出了以下输出结果 −
(True, True)
上述代码片断给出了以下输出结果 −
(False, False)
Or 函数
这个函数评估两个布尔参数,如果其中一个为真,则返回真。|操作符方便地模拟了它的行为。
上述代码片断给出了以下输出结果 −
(True, True)
上述代码片断给出了以下输出结果 −
(False, False)
Not 函数
逻辑Not函数的结果是对布尔参数进行否定。如果它的参数是假的,它返回真,如果是真,则返回假。~运算符执行的操作与Not函数类似。它在下面的例子中显示 –
上述代码片断给出了以下输出结果 −
(False, True)
上述代码片断给出了以下输出结果 −
(True, False)
XOR函数
逻辑XOR(排他性OR)函数,如果奇数的参数为真,其余为假,则返回真;如果偶数的参数为真,其余为假,则返回假。类似的操作是由^运算符执行的。
上述代码片断给出了以下输出结果 −
(True, True)
上述代码片断给出了以下输出 –
True
在上述情况下,三个(奇数)参数是 “真”,因此Xor返回 “真”。然而,如果True参数的数量是偶数,它的结果是False,如下图所示。
上述代码片断给出了以下输出 –
False
Nand函数
这个函数执行逻辑NAND操作。它评估它的参数,如果其中任何一个参数是假的,则返回 “真”,如果它们都是 “真”,则返回 “假”。
上述代码片断给出了以下输出结果 −
(True, False)
Nor函数
这个函数执行逻辑NOR操作。它评估其参数,如果其中任何一个参数为真,则返回假,如果全部为假,则返回真。
上述代码片断给出了以下输出结果 −
(False, False)
请注意,尽管SymPy为Xor提供了^运算符,为Not提供了~,为Or提供了|,为And提供了&函数,但它们在Python中的正常使用是作为位操作符的。因此,如果操作数是整数,结果将是不同的。
等价函数
这个函数返回等价关系。Equivalent(A, B) 当且仅当 A 和 B 都是真或都是假时为真。如果所有的参数在逻辑上是等价的,该函数返回 True。否则返回假。
上述代码片断给出了以下输出结果 −
(False, True)
ITE函数
这个函数就像编程语言中的If then else子句。ITE(A, B, C)评估并返回B的结果,如果A为真,则返回C的结果。
上述代码片断给出了以下输出结果 −
(False, True)