我无法弄清楚原因:
f = lambda x: x
In [8]: f is True
Out[8]: False
In [9]: not f is True
Out[9]: True
In [10]: f is False
Out[10]: False
In [11]: f is True
Out[11]: False
In [12]: not f
Out[12]: False
In [13]: not f is True
Out[13]: True
In [14]: not f is False
Out[14]: True
Run Code Online (Sandbox Code Playgroud)
好.所以直到现在我们可以想象这是由于使用"是"而不是"==".如下图所示:
In [15]: 0.00000 is 0
Out[15]: False
In [16]: 0.00000 == 0
Out[16]: True
Run Code Online (Sandbox Code Playgroud)
好.但是为什么然后如果我在功能上这样做:
In [17]: not f == False
Out[17]: …
Run Code Online (Sandbox Code Playgroud)