布尔运算符从一个或多个输入值生成单个布尔输出值。布尔代数中有三个布尔运算符:AND、OR和NOT。Python 使用and
、or
、 和not
来实现它们。我们将在本教程中学习Python的not运算符。
非运算符
它用于获取值的否定,即它允许我们反转给定布尔表达式的真值。该运算符可以应用于布尔情况,例如 if 语句和 while 循环。它还可以在非布尔设置中发挥作用,使您能够反转变量的真值。
下表显示了对某些输入值应用 not 运算符时的结果。
输入 | 输出 |
真的 | 错误的 |
错误的 | 真的 |
not
是一元运算符,这意味着它只接受一个输入值。它可以与任何布尔表达式或 Python 对象一起使用。
not 与不同的数据类型一起使用
将 not 与条件语句一起使用
让我们看看 Python 中的 not 运算符如何与我们拥有的不同类型的条件语句一起使用。
if 语句
num = 25 if not num % 2 = = 0 : print ( "num is an odd number" ) else : print ( "num is an even number" ) |
输出:
num is an odd number |
这里,num%2 即 25%2 等于 1 而不是 0。该if
语句检查 num%2==0 是否为 False。由于满足条件,因此输出表明该数字是奇数。如果是偶数,else
则满足条件。
while 循环
count = 1 while not count> 5 : print (count) count = count + 1 |
输出:
1 2 3 4 5 |
条件 count>5 检查记录数是否大于 5。while
循环执行到count
小于 5。一旦count
的值变为 6,循环将终止。
Python中非布尔运算符的实现方法
方法 1:使用“not”关键字
var = False print ( not var) |
输出:
True |
var = True print ( not var) |
输出:
False |
以上是在Python中使用not
关键字的简单示例。
方法 2:使用“~”运算符
‘~’ 称为否定运算符。
flag = True print ( "Flag is " , flag) print ( "Flag is " , bool (~flag)) |
输出:
Flag is True Flag is False |
在此示例中,首先flag
将 设定为True
并打印其值。flag
在下一行中,我们首先通过编写来取反~flag
,并且我们已经编写了bool(~flag)
,因为如果标志最初不是布尔值,那么它将被转换为布尔值。
方法三:使用算子模块
Python中的运算符模块提供了多种方法,例如加法、减法、求幂、左移、右移等。其中之一是not_()
。它返回提供给它的参数的负值。
import operator initial_list = [ False , True , True , False ] print ( "Initial list:" , initial_list) negated_list = [] for i in range ( 0 , len (initial_list)): negated_list.append(operator.not_(initial_list[i])) print ( "Negated list:" , negated_list) |
输出:
Initial list: [False, True, True, False] Negated list: [True, False, False, True] |
在这里,我们首先导入了操作员模块。然后我们创建了一些布尔值的列表。该循环迭代“initial_list”,并使用运算符not_()
模块中的方法对每个值取反,并将其附加到“neated_list”。
方法 4:使用 NumPy 中的 bitwise_not() 方法
Numpy 提供了一种bitwise_not()
求负值的方法。它对其参数执行按位 NOT 运算。
import numpy as np print (np.bitwise_not( True )) print (np.bitwise_not( False )) |
输出:
False True |
上面的代码使用该bitwise_not()
方法仅对单个值求反。我们还可以使用 NumPy 元素数组,如下所示。
import numpy as np a = np.array([ True , False , False ]) a = np.bitwise_not(a) print (a) |
输出:
[False True True] |
方法 5:使用 NumPy 中的 invert() 方法
此方法还对传递给它的参数执行按位 NOT 运算。它可以用于单个元素或元素数组。
import numpy as np print (np.invert( False )) print (np.invert( True )) |
输出:
真的 错误的
另一个例子:
import numpy as np a = [ True , False , False ] a = np.invert(a) print (a) |
输出:
[False True True] |
方法 6:使用 NumPy 中的 Logical_not() 方法
此方法还可用于查找布尔值的负值。就像 bitwise_not() 和 invert() 方法一样,此方法也可以应用于单个参数或参数列表,如下所示。
import numpy as np print (np.logical_not( False )) print (np.logical_not( True )) |
输出:
True False |
另一个例子:
import numpy as np a = [ True , False , True ] a = np.logical_not(a) print (a) |
输出:
[False True False] |
结论
就这样!我们已经了解了not运算符以及在 Python 中使用它的不同方式。