if not start:
new.next = None
return new
que signifie "sinon"? Quand ce code sera-t-il exécuté?
est-ce la même chose que de dire si début == Aucun: alors faire quelque chose?
if
est la déclaration. not start
est l'expression, avec not
étant un opérateur booléen) .
not
renvoie True
si l'opérande (start
ici) est considéré comme false. Python considère que tous les objets sont vrais, à moins qu’ils ne soient zéro numérique ou un conteneur vide, ni l’objet None
ou la valeur booléenne False
. not
renvoie False
si start
est une valeur vraie. Voir la section Test de la valeur de la vérité} _ section dans la documentation.
Donc, si start
est None
, alors effectivement not start
sera vrai. start
peut également être 0
ou une liste vide, une chaîne, un dictionnaire tuple ou un ensemble. De nombreux types personnalisés peuvent également spécifier qu'ils sont égaux à 0 ou doivent être considérés comme vides:
>>> not None
True
>>> not ''
True
>>> not {}
True
>>> not []
True
>>> not 0
True
Remarque: étant donné que None
est un singleton (il n'y a qu'une seule copie de cet objet dans un processus Python), vous devez toujours le tester à l'aide de is
ou is not
. Si vous strictement voulez tester tat start
est None
, utilisez:
if start is None:
Il s'exécute quand start
est False
, 0
, None
, une liste vide []
, un dictionnaire vide {}
, un ensemble vide ...