Comment utiliser None, le null version Python ?

Article publié le mercredi 11 janvier 2023 et mis à jour le mercredi 3 avril 2024.

Comment utiliser None, le null version Python ?

Qu’est-ce que None en Python ? Pourquoi null n’existe pas en Python ? Découvrez pourquoi None existe en Python, quand et pourquoi l’utiliser !

En Python, null n’existe pas. On utilise son équivalent, None.

None indique l’absence de valeur, c’est l’équivalent de null qui existe dans d’autres langages de programmation.

Qu’est-ce que None en Python

None est une constante native, c’est le seul objet Python de type NoneType, comparer None avec un autre type retournera donc systématiquemnt False.

None n’est pas égale à False, 0, "", [], {} ou encore (). Ces valeurs qu’on appelle falsy ne sont donc pas égales à None.

Toute comparaison avec None retournera False, sauf la comparaison avec None lui même ou une variable ayant comme valeur None.

Par exemple :

  • None is False renvoie False
  • None == False renvoie False
  • None n’est pas falsy
  • C’est pareil pour toutes les comparaisons avec 0, "", [], {} ou encore ()
  • Seuls None is None et None == None renvoient True

Mettons ça en pratique :

>>> None is False
False
>>> None == False
False
>>> None == 0
False
>>> None == ''
False
>>> None == []
False
>>> None == {}
False
>>> None == ()
False
>>> None == None
True
>>> None is None
True
>>> n = None
>>> None is n
True
>>> n == None
True

Quand et comment utilise-t’on None ?

En Python, on utilise None dans les comparaisons pour voir si la valeur d’une variable est vide ou bien pour initialiser une variable à une valeur vide avec l’intention qu’elle soit remplie après.

Par exemple on peut avoir une variable avec une valeur nulle qu’on espère changer si une condition est remplie :

gagnant = None

prenom = input('Qui a gagné ?')

## On vérifie que le prénom est bien composé de lettres
if prenom.isalpha():
  gagnant = prenom

## Si on a un gagnant (et donc qu'il n'est pas null)
if gagnant is not None:
  print(gagnant, 'a gagné')

Comment retourner None en Python ?

Pour retourner la valeur None en Python, on peut soit explicitement retourner None avec l’expression return None, soit ne rien retourner comme Python retourne None implicitement quand aucune valeur n’est retournée.

En effet, une fonction retourne systèmatiquement la valeur None si aucune autre valeur n’est retournée explicitement.

Par exemple une simple fonction qui ne fait rien avec l’expression pass :

def test():
  pass

print(test())

Retourne sur la sortie standard :

None

None est null !

Et voilà, vous savez maintenant ce qu’est None en Python !

Pour rappel :

  • L’équivalent de null en Python est None.
  • None est un objet de type NoneType qui représente l’absence d’une valeur.
  • Quand une fonction ne renvoie pas de valeur, elle renvoie implicitement None.
  • Toute comparaison avec None retournera False sauf quand il est comparé avec lui-même None == None.

Top 10 des meilleurs livres pour apprendre Python en 2024

12 des meilleurs cours Python en Français

La fonction range en Python

Les exposants en Python

Les Boucles For en Python

9 idées de projets en Python pour débutants

Python vs Java : Quel est le meilleur langage en 2024 ?

Comment Coder

Je m'appelle Thomas. J'ai commencé à coder dans mon enfance. Depuis ma sortie de la première promo de l'École 42, j'ai développé des centaines d'applications et sites web. Sur ce blog, je vous donne les meilleurs conseils et astuces pour apprendre comment apprendre à coder efficacement.