Ik ben een beetje in de war over hoe/waarom zoveel Python-ontwikkelaars if not
gebruiken in hun voorwaardelijke instructies.
laten we bijvoorbeeld zeggen dat we een functie hadden,
def foo(bar = None):
if not bar:
bar = 2
Maar waarom op deze manier gaan? Ik bedoel, zou if bar != None
of if bar is not None
niet explicieter zijn? Wat probeert if not
te zeggen?
Antwoord 1, autoriteit 100%
Ja, if bar is not None
is explicieter en dus beter, ervan uitgaande dat dit inderdaad is wat je wilt. Dat is niet altijd het geval, er zijn subtiele verschillen: if not bar:
wordt uitgevoerd als bar
een soort nul of lege container is, of False
.
Veel mensen gebruiken not bar
waar ze echtbedoelen dat bar is not None
is.