python

TOP 10 DES ERREURS PYTHON

24/03/2026
Identifiez instantanément pourquoi votre variable python est vide et apprenez à corriger votre code proprement.

Identifiez instantanément pourquoi votre variable python est vide et apprenez à corriger votre code proprement grâce à l'erreur Python 'TypeError: NoneType object is not subscriptable.


1. TypeError: 'NoneType' object is not subscriptable

  • Cause : Vous essayez d'accéder à un index (ex: liste[0]) sur une variable qui vaut None (souvent car une fonction n'a rien renvoyé).
  • Code qui bug :
  • Python
def ma_liste():
    print("Salut") # Oubli du 'return'
resultat = ma_liste()
print(resultat[0]) # Erreur !
  • Correction : Ajoutez un return ou vérifiez que la variable n'est pas vide avant.
  • Astuce Pro : Utilisez if resultat is not None: avant d'accéder aux données.

2. IndexError: list index out of range

  • Cause : Vous demandez un élément à une position qui n'existe pas dans la liste.
  • Code qui bug :
  • Python
prenoms = ["Alice", "Bob"]
print(prenoms[2]) # Erreur (l'index 2 est le 3ème élément)
  • Correction : Rappelez-vous que Python commence à compter à 0. Pour 2 éléments, les index sont 0 et 1.
  • Astuce Pro : Utilisez len(ma_liste) pour vérifier la taille avant de chercher.

3. KeyError: '...'

  • Cause : Vous cherchez une clé inexistante dans un dictionnaire.
  • Code qui bug :
  • Python
scores = {"Alice": 10}
print(scores["Bob"]) # Erreur !
  • Correction : Utilisez la méthode .get() qui renvoie None au lieu de planter.
  • Astuce Pro : scores.get("Bob", 0) renverra 0 si "Bob" n'existe pas.

4. IndentationError: expected an indented block

  • Cause : Python utilise les espaces pour définir les blocs. Il en manque un après un : ou ils sont mal alignés.
  • Code qui bug :
  • Python
if True:
print("Oubli d'espace") # Erreur !
  • Correction : Ajoutez 4 espaces (ou une tabulation) après chaque instruction se terminant par :.
  • Astuce Pro : Configurez votre éditeur pour convertir les tabs en 4 espaces.

5. ValueError: invalid literal for int()

  • Cause : Tentative de convertir du texte non numérique en nombre.
  • Code qui bug :
  • Python
age = int("vingt") # Erreur !
  • Correction : Vérifiez le contenu avec .isdigit() avant la conversion.
  • Astuce Pro : Utilisez un bloc try...except ValueError: pour gérer la saisie utilisateur.

6. AttributeError: 'NoneType' has no attribute '...'

  • Cause : Vous appelez une méthode (ex: .append()) sur une variable qui n'a pas été initialisée (vaut None).
  • Code qui bug :
  • Python
liste = None
liste.append(1) # Erreur !
  • Correction : Initialisez toujours vos variables : liste = [].

7. ModuleNotFoundError: No module named '...'

  • Cause : La bibliothèque n'est pas installée sur votre ordinateur.
  • Code qui bug : import requests (si non installé).
  • Correction : Tapez pip install requests dans votre terminal.

8. SyntaxError: invalid syntax

  • Cause : Une faute de frappe (parentèse oubliée, : manquant, faute dans un mot-clé).
  • Code qui bug : if x = 5: (on utilise == pour comparer).
  • Correction : Relisez la ligne pointée par la flèche ^ de Python.

9. NameError: name 'x' is not defined

  • Cause : Vous utilisez une variable que vous n'avez pas encore créée ou une faute de frappe dans son nom.
  • Code qui bug : print(score) au lieu de print(scores).
  • Correction : Vérifiez l'orthographe et l'ordre de vos lignes.

10. RecursionError: maximum depth exceeded

  • Cause : Une fonction s'appelle elle-même sans jamais s'arrêter.
  • Code qui bug :
  • Python
def infini():
    return infini()
  • Correction : Ajoutez une "condition de sortie" (un if qui arrête les appels).