Кто-то просто показал мне этот странный пример синтаксиса python. Почему [4] работает?
Я бы ожидал, что он будет оценивать как [5], так и [6], ни одна из которых не работает. Есть ли какая-то преждевременная оптимизация, которая не должна быть?
In [1]: s = 'abcd'
In [2]: c = 'b'
In [3]: c in s
Out[3]: True
In [4]: c == c in s
Out[4]: True
In [5]: True in s
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-e00149345694> in <module>()
----> 1 True in s
TypeError: 'in <string>' requires string as left operand, not bool
In [6]: c == True
Out[6]: False