Python中布尔值Bool的取反问题

在matlab中,bool类型变量的取反是 ‘~’,即变量 a 若为 True,则 ~a 为 False.

但是在Python中,‘~’是按位取反,因为 True 等价于 1,而False等价于0,所以若变量 a 为 True (即 a = 1), 则 ~a 并不等于 False,而是 -2 (因为a=11111110是-2的补码)。

如果我们想对 变量 a 取反,需要用如下方法:

a = bool(1-a)

或者

a = not a

编辑于 2022-04-06 10:07