当实施棋盘游戏时,棋盘格可以处于三种可能的可用状态之一:True(第一个玩家占用的单元格),False(第二个玩家占用的单元格)或None(单元格为空)。 / p>
我的问题是:
为什么
not(True) == None
return True
而它实际应该是return False
?
为什么
not(False) == None
return True
然而它实际应该是return False
?
这可能是Python中可能的错误,应该尽快报告给开发人员吗?
答案 0 :(得分:8)
not
不是函数,not(True)
不是函数调用。
not(True) == None
被解析为not (True == None)
,因为not
的优先级低于==
。
在编写表达式时请记住Python operator precedence,如果函数不起作用,请不要将其视为函数。