Outils numériques et programmation
Conseils généraux
- Commentez votre code :
En général, si vous prenez le temps de faire un programme, c'est que le problème est suffisamment complexe pour nécessiter le temps de programmation nécessaire pour le résoudre. Et le temps nécessaire est rapidement proche de la journée.
Il n'est pas rare du tout de se retrouver avec un problème similaire quelques temps plus tard, mais forcément légèrement différent. Et si vous devez reprendre votre propre code non commenté, suivre votre propre logique revient quasiment à programmer de zéro. Donc, commentez.
Il n'est pas rare de devoir passer son code à quelqu'un d'autre qui veut faire quelque chose « un peu comme vous », mais si le code n'est pas commenté, votre aide ne sert au final à rien. Donc, commentez.
Le temps de débuggage et de relecture est toujours supérieur au temps de programmation pur. Donc, commentez.
def myFunc(foo,bar):
"""
La fonction myFunc permet de ...
foo type int qui est l'indice de truc
bar type float qui est la valeur de bidule
"""
#Je fais tel truc technique pour contourner ce problème
#!/usr/bin/env python3
) et la condition if __name__=="__main__"
for elem in list:
plutôt que for indexElem in range(0,len(list)):
si ce sont les éléments de la liste qui vous sont utiles. C'est beaucoup plus simple et lisible ! Si vous avez besoin des indices et des éléments, vous pouvez utiliser for index,elem in enumerate(list):
qui vous donnera accès à chacun des éléments séparément list[i] == elem
.Débugguer un programme
En cas d'erreur, il faut commencer par décrypter le message : il y a généralement plusieurs lignes indiquées, il faut le plus souvent regarder la dernière indiquée. De même, n'hésitez pas à faire un copier-coller du message d'erreur. Pour faciliter les choses, vous pouvez également gérer certaines erreurs avec les Erreurs et exceptions. Elles s'utilisent en général avec les commandes :
try: #quelque chose que l'on tente de faire except: print("un message d'erreur un peu plus explicite")
- faites des print : afficher vos variables permet de comprendre ce qu'elle contienne, éventuellement voir les erreurs de type directement et facilite le débuggage
- affichez les types de vos variables ou des propriétés : cela permet par exemple de différencier les vecteurs des array dans numpy pour le broadcasting
Pré-requis
Les exemples en fichier python
- Illustration des effets de bord
- Definitions basiques de fonctions
- Illustration du piege concernant l'initialisation d'arguments optionnels a l'aide d'un objet mutable
- Definitions avancees de fonctions
- Manipulation de fichiers