Mój starszy zademonstrował to i chciałbym się dowiedzieć, czy jest to usterka, czy też jest jakiś precedens i powiązanie z operatorem, które to usprawiedliwia.Dlaczego Fałsz == Fałsz w [Fałsz] zwraca True?
>>> False==False in [False]
True
Mój starszy zademonstrował to i chciałbym się dowiedzieć, czy jest to usterka, czy też jest jakiś precedens i powiązanie z operatorem, które to usprawiedliwia.Dlaczego Fałsz == Fałsz w [Fałsz] zwraca True?
>>> False==False in [False]
True
Łańcuch Pythona comparison operators.
False == False in [False]
jest oceniany jako
(False == False) and (False in [False])
środkowy termin uczestniczy w obu porównań.
Wolałbym, aby in
nie łączyć z innymi operatorami porównania.
Czy jest jedynym powodem, dla którego operatorzy mogą dokonywać wyrażeń takich jak 'x
Nie wiem o przypadku użycia do łączenia "w" z innymi operatorami porównania, który tworzy wyraźny kod. –
Steven, możesz nie próbować strzelać sobie w stopy, po prostu nie robiąc takich głupich rzeczy. Nikt nie zmusza Cię do pisania nieosiągalnego kodu :-) –
Może to być przypadek znanego w Pythonie mechanizmu porównywania operatora porównania (tak, aby było to to samo co 'Fałsz == Fałsz i Fałsz w [Fałsz]'). Nie jestem tego pewien ... – hlt
Bez wiedzy, ale z odpowiedzi tutaj: http://stackoverflow.com/questions/34163067/python-why-does-false-false-in-false-returns-true # 34163067 - może to wynikać ze sposobu, w jaki jest obsługiwany. '(False == False) w [False]' –
podstawianie 'Fałszywa' z' 1' czyni o wiele bardziej wyraźnym – letsc