否定的真/假和无的平等

V. *_*man -3 python boolean-logic boolean boolean-expression boolean-operations

当实现棋盘游戏时,棋盘格可以处于三种可能的可用状态之一:True(第一玩家占用的小区),False(第二玩家占用的小区)或None(小区为空).

我的问题是:

为什么

not(True) == None 
return True 
Run Code Online (Sandbox Code Playgroud)

而实际上应该return False呢?

为什么呢

not(False) == None 
return True 
Run Code Online (Sandbox Code Playgroud)

而实际上应该return False呢?

这可能是Python中可能的错误,应该尽快向开发人员报告,其中包括其中的开发人员?

use*_*ica 8

not不是函数,not(True)也不是函数调用.

not(True) == None被解析为not (True == None),因为not优先级低于==.

在编写表达式时,请记住Python的运算符优先级,如果它们不是函数,则不要将函数视为函数.