À la fois Google et Python's style guide est la meilleure pratique:
if x is not None:
# Do something about x
À l'aide de not x
peut causer des résultats indésirables. Voir ci-dessous:
>>> x = 1
>>> not x
False
>>> x = [1]
>>> not x
False
>>> x = 0
>>> not x
True
>>> x = [0] # You don't want to fall in this one.
>>> not x
False
Vous pouvez être intéressé de voir ce que les littéraux sont évalués à l' True
ou False
Python:
Edit de commentaire ci-dessous:
Je viens de faire quelques tests supplémentaires. not x
n'est ne pas nier x
d'abord et puis par rapport au None
. En fait, il semble que l' is
opérateur a une priorité plus élevée lorsque utilisé de cette façon:
>>> x
[0]
>>> not x is None
True
>>> not (x is None)
True
>>> (not x) is None
False
Par conséquent, not x is None
est juste, à mon avis honnête, vaut mieux l'éviter.
Plus edit:
Je viens de faire plusieurs tests et je peux confirmer que bukzor commentaire est correct. (Au moins, je n'étais pas en mesure de prouver le contraire.)
Cela signifie if x is not None
a exactement le résultat que l' if not x is None
. Je corrige la position des mains. Grâce bukzor.
Cependant, ma réponse est toujours debout: Utiliser le conventionnel if x is not None
. :]