Мне хотелось бы понять, как работает синтаксический анализ в Python. Точнее, как эти три утверждения могут дать три разных результата:
0 in [0] is True
# returns False
(0 in [0]) is True
# returns True
0 in ([0] is True)
# raises TypeError
в то время как с помощью
получаются только два разных результата1 == 1 is True
# returns False
(1 == 1) is True
# returns True
1 == (1 is True)
# returns False
Подробнее здесь: https://stackoverflow.com/questions/613 ... -in-and-is