我想不通为什么:为什么Python中的函数是错误的?
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
确定。所以直到现在我们可以想象这是由于使用“is”而不是“==”。如下所示:
In [15]: 0.00000 is 0
Out[15]: False
In [16]: 0.00000 == 0
Out[16]: True
好的。但是,为什么那么,如果我做它的功能:
In [17]: not f == False
Out[17]: True
In [18]: not f == True
Out[18]: True
In [19]: f ==True
Out[19]: False
In [20]: f ==False
Out[20]: False
In [21]: f
Out[21]: <function __main__.<lambda>>
我试图把它解释为因“是”,而不是“==”的例子,但19和20粉碎了我的逻辑。有人可以解释吗?
这是特定的功能呢?其他值与True和False相比如何? –
awww很愚蠢。忘了使用bool()比较布尔值。当然 。请删除 – deddu