if x
vérifie si x
est considéré comme True
.
En Python, tout a une valeur booléenne ( True
/ False
).
Les valeurs qui sont considérées comme False
:
-
False
, None
-
0
, 0.0
, 0j
-
[]
, ()
, {}
''
- Autres instances qui signalent à Python qu'elles sont vides
Les autres valeurs sont considérées comme True
. Par exemple, [False]
, ('hello')
, 'hello'
sont considérés comme True
(car ils ne sont pas vides).
Lorsque vous utilisez if x is not None
vous vérifiez si x
n'est pas None
mais il peut être False
ou d'autres instances qui sont considérées comme False
.
>>> x = None
>>> if not x:print x # bool(None) is False
None
>>> if x == None:print x
None
>>> x = False
>>> if not x:print x
False
>>> if x == None:print x
Enfin, notez que True
y False
sont respectivement égales à 1
y 0
:
>>> True + 1
2
>>> False + 1
1
>>> range(1, 5)[False]
1