Python, ce langage dangereux ?
La curiosité n’est pas un vilain défaut mais une qualité fondamentale.
Le code Python est dangereux ?
Oui. Pourquoi ?
Prenons deux codes simples :
En TCL :
for { set i 5 } { $i <= 8 } { incr i } { puts "$i" } puts "End loop"
En Python :
for i in range(5, 8):
print(i)
print('end of loop')
Ce code est tout simple. Maintenant, imaginons une erreur de frappe:
En TCL :
for { set i 5 } { $i <= 8 } { incr i } {
puts "$i"
puts "End loop"
En Python :
for i in range(5, 8):
print(i)
print('end of loop')
En TCL il y a une erreur au niveau de l'interpréteur. En Python, pas d'erreur : le code fonctionne mais mal.
J'ai pris du TCL comme exemple mais c'est la même chose avec d'autres langages. Ce genre d'erreur a l'air banal mais si elle vous arrive sur du code plus compliqué, cela peut être très difficile à détecter.
Deuxième danger
la fonction range, qui a deux limites, la première inclusive et la deuxième exclusive.
donc range(1,5) donne 1,2,3,4.
Si vous devez clôture une distance de 10 mètres et placer un piquet tout les mètres, il vous faut ?
11 piquets.
range (0,10 + 2) donnera la bonne liste : 0,1,2,3,4,5,6,7,8,9,10,11.
la fonction range amène potentiellement à avoir des erreurs, dites de plus un, avec range c'est plus deux!