Zawsze uważałem, że if not x is None
wersja jest bardziej przejrzysta, ale zarówno przewodnik po stylu Google, jak i PEP-8if x is not None
. Czy jest jakaś niewielka różnica w wydajności (zakładam, że nie) i czy jest jakikolwiek przypadek, w którym jedno naprawdę nie pasuje (co sprawia, że drugi jest wyraźnym zwycięzcą mojej konwencji)? *
* Mam na myśli dowolny singleton, a nie tylko None
.
... aby porównać singletony takie jak None. Zastosowanie jest lub nie jest.
not x is None
(odpowiedzi tutaj mnie przekonały) - warto jednak zauważyć, że not a == b
jest to preferowany styl w Pythonie w porównaniu do a != b
.
not a == b
naprawdę preferowany styl? Nigdy nie widziałem, aby robiono to w ten sposób i wszędzie wyglądam na ludzi, z których wszyscy korzystają !=
.
!=
zamiast dwóch operatorów not
, ==
.
is not
jest operatorem sam w sobie. Jak!=
. Jeśli wolisz,not x is None
to należy również swoje woląnot a == b
ponada != b
.