100 Concepts Python - Exemples et
Erreurs à éviter
Concept / Commande Exemple Erreur à éviter
print() print('Bonjour') Oublier les parenthèses
(Python 2 vs 3)
input() nom = input('Votre nom: ') Oublier de convertir si
besoin
split() 'a,b,c'.split(',') Oublier de préciser le
séparateur si nécessaire
strip() ' texte '.strip() Croire que strip() enlève à
l'intérieur du texte
int() int('5') Erreur si chaîne invalide
float() float('3.14') Erreur si chaîne invalide
str() str(123) Confondre transformation
et modification de l'objet
list() list('abc') Croire que list() sépare en
mots et non en caractères
len() len([1,2,3]) Confondre avec sum()
type() type(3.14) Penser que retourne 'float'
comme string
if if x > 0: Oublier ':' en fin de
condition
for for i in range(5): Syntaxe incorrecte sans ':'
while while x > 0: Boucle infinie sans
changement de x
def def addition(a,b): return Oublier 'return'
a+b
return return x Mettre du code après return
qui ne sera pas exécuté
import import math Erreur sur le nom du
module
from ... import ... from math import sqrt Importer une mauvaise
fonction
as import numpy as np Mal utiliser l'alias
try / except try: x=1/0 Utiliser except sans préciser
except ZeroDivisionError: l'erreur
print('Erreur')
open() open('test.txt', 'r') Oublier de fermer le fichier
with open() with open('test.txt', 'r') as f: Ne pas utiliser 'with' et
oublier de fermer
read() f.read() Lire deux fois sans
repositionner le curseur
readline() f.readline() Croire qu'il lit tout le fichier
readlines() f.readlines() Penser qu'il retourne une
seule chaîne
write() f.write('Texte') Écrire dans un fichier
ouvert en mode lecture
seek() f.seek(0) Mauvais usage de la
position de curseur
json.load() json.load(f) Fichier non formaté en JSON
valide
json.dump() json.dump(d, f) Oublier de mettre le fichier
en mode écriture
csv.reader() csv.reader(f) Oublier de passer un fichier
ouvert
csv.writer() csv.writer(f) Utiliser en mode lecture
seulement
append() liste.append(5) Croire que cela retourne
une nouvelle liste
extend() liste.extend([1,2]) Confondre avec append()
insert() liste.insert(0,'début') Mauvais index
remove() liste.remove('a') Supprimer un élément
inexistant
pop() liste.pop() Erreur si liste vide
index() liste.index('a') Erreur si valeur non
présente
count() liste.count('a') Confondre avec len()
sort() liste.sort() Modifier l'original au lieu de
créer une copie triée
sorted() sorted(liste) Penser que cela modifie
l'original
reverse() liste.reverse() Pas de retour de nouvelle
liste
reversed() reversed(liste) Retourne un itérateur, pas
une liste
dict() d = dict(a=1, b=2) Confondre clé et valeur
keys() d.keys() Oublier de convertir en liste
si besoin
values() d.values() Même remarque que keys()
items() d.items() Oublier le déballage dans
les boucles
get() d.get('clé') Utiliser [] qui peut lever une
erreur
setdefault() d.setdefault('clé',0) Modifier accidentellement
le dictionnaire