布尔比较的结果不正确

时间:2016-08-18 09:06:21

标签: python boolean

在比较布尔值时,我注意到了一些奇怪的行为:

>>> '1' in '123'
True
>>> '1' in '123' == True
False

我认为这可能是与操作顺序有关的问题,但是

>>> '1' in ('123' == True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument of type 'bool' is not iterable
>>> ('1' in '123') == True
True

或者可能x in y实际上没有返回布尔值,但是

>>> type('1' in '123') is type(True)
True

有人可以解释一下吗?这是一个错误吗? (在python2.7和python3.5中测试过。)

0 个答案:

没有答案