SymPy 逻辑表达式
布尔函数在 sympy.basic.booleanarg 模块中定义 。可以使用标准的Python运算符 &(与)、|(或)、~(非)以及 >> 和 << 构建布尔表达式。布尔表达式继承自 SymPy 核心模块中定义的 Basic 类。
BooleanTrue 函数
此函数相当于 Python 核心中的 True。它返回一个可以通过 S.true 获取的单例。
上述代码片段给出了以下输出−
(True, True)
BooleanFalse 函数
类似地,该函数相当于 Python 中的 Boolean False,并可以通过 S.false 来访问
以上代码段给出如下输出 –
(False, False)
与操作
逻辑与函数对其两个参数进行评估,如果其中任何一个为False,则返回False。该函数模拟了&操作符。
上面的代码片段给出了以下输出−
(True, True)
上述的代码片段给出了下面的输出结果:
(False, False)
Or函数
该函数评估两个布尔参数,并在其中一个为True时返回True。| 操作符方便地模拟了它的行为。
以上代码片段的输出结果如下:
(True, True)
上面的代码片段给出了以下输出 −
(False, False)
Not 函数
逻辑非函数的结果是布尔参数的否定。如果参数为False,则返回True,如果为True,则返回False。~ 运算符执行与 Not 函数类似的操作。下面的示例中展示了它的使用:
上面的代码片段给出了以下输出 −
(False, True)
上面的代码片段产生以下输出 −
(True, False)
异或函数
逻辑异或(exclusive OR)函数返回True,如果奇数个参数为True并且其他参数为False,则返回False,如果偶数个参数为True并且其他参数为False,则返回False。相似的操作由^运算符执行。
上述代码片段的输出结果如下:
(True, True)
上面的代码片段输出如下:
True
在上面的情况下,有三个(奇数个)参数为True,因此Xor返回True。然而,如果True参数的个数是偶数,则结果为False,如下所示:
上面的代码片段给出了以下输出 –
False
Nand函数
该函数执行逻辑NAND运算。它评估它的参数并在它们中有任何一个为False时返回True,如果它们都为True则返回False。
以上的代码片段给出以下输出 −
(True, False)
Nor函数
该函数执行逻辑NOR操作。它评估其参数,并且如果其中任何一个为True,则返回False;如果它们都为False,则返回True。
上面的代码片段输出结果如下:-
(False, False)
注意,虽然SymPy为Xor提供了^操作符,Not提供了~操作符,Or提供了|操作符和And提供了&操作符作为方便之用,但它们在Python中的正常使用是作为位运算符。因此,如果操作数是整数,结果会不同。
等效的函数
此函数返回等价关系。当且仅当A和B都为True或都为False时,Equivalent(A, B)为True。如果所有的参数在逻辑上等价,则函数返回True。否则返回False。
上面的代码片段输出如下:
(False, True)
ITE 函数
该函数在编程语言中充当 If-Then-Else 子句。ITE(A, B, C) 评估并返回结果 B,如果 A 为真;否则返回结果 C。所有参数必须为布尔值。
上面的代码片段给出了以下输出结果−
(False, True)