关于__eq__和__contains__的python拼图

时间:2018-08-02 10:33:06

标签: python python-3.x python-2.7 comparison comparison-operators

我试图找出object.__eq__object.__contains__的工作方式,但无法理解以下情况:

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

据我了解,'' in ''==''检查True是否包含''''==''True的类型均为bool,但只有'' in False引发TypeError。为什么会发生这种情况,最后'' in 'g'!='g'的含义是什么?

0 个答案:

没有答案