Ich bin ein bisschen verwirrt darüber, wie/warum so viele python Entwickler if not
in ihren bedingten Anweisungen verwenden.
nehmen wir zum Beispiel an, wir hatten eine Funktion,
def foo(bar = None):
if not bar:
bar = 2
Aber warum diesen Weg gehen? Ich meine, würde es nicht expliziter sein, if bar != None
oder if bar is not None
zu tun? Was versucht if not
zu sagen?
Ja, if bar is not None
ist expliziter und daher besser, vorausgesetzt, es ist tatsächlich das, was Sie wollen. Das ist nicht immer der Fall, es gibt subtile Unterschiede: if not bar:
wird ausgeführt, wenn bar
eine Art Null oder leerer Container oder False
ist. Viele Leute benutzen not bar
, wo sie wirklichbar is not None
bedeuten.