Truc informatique

Le print espion

Ton algorithme donne un résultat bizarre et tu ne sais pas pourquoi ? Sème des print() temporaires pour voir l'intérieur de la machine. C'est l'outil de débogage numéro un des vrais programmeurs.

Démo : ouvre la boîte noire

Le même algorithme, deux fois. Sans espions, tu ne vois que le résultat final. Avec les espions, tu vois la variable total grandir à chaque tour : plus de mystère.

Le code
La sortie

L'astuce du signe égal

Depuis Python 3.8, un = à la fin d'un f-string affiche le nom ET la valeur, tout seul :

On écritÇa affiche
print(f"{total = }")total = 12
print(f"{n = }")n = 7
print(f"{prix * 2 = }")prix * 2 = 19.8

Plus besoin d'écrire print("total =", total) en se répétant. L'espace avant et après le = est conservé tel quel dans l'affichage.

La règle d'or : un espion, ça se retire

Un print espion est temporaire. Une fois le bug compris, on l'enlève (ou on le commente avec Ctrl + /) pour ne pas polluer la sortie finale.

Où placer un espion ? Juste avant la ligne qui te surprend, et juste après. Si la valeur est correcte avant mais fausse après, tu as trouvé la ligne coupable.

Astuce de pro : préfixe tes espions, par exemple print("ESPION", total). Tu les retrouves et les supprimes tous d'un coup avec un Rechercher/Remplacer sur le mot ESPION.