Ce guide s’adresse aux étudiant(e)s qui désirent apprendre à programmer sous Python, sans avoir d’expérience de programmation préalable. L’idée est d’apprendre les éléments de base de Python/SciPy qui sont nécessaires pour utiliser ou développer les outils de mon laboratoire.

Installation de Python

Il existe une myriade de façon d’installer Python. Pour démarrer tout doucement, le plus simple est de loin d’utiliser cet environnement virtuel complètement en ligne (sans installation) où vous pouvez taper et tester des scripts dans la fenêtre main.py, ou entrer des commandes directement dans la console (à droite).

À partir d’un certain moment, surtout lorsque vous voudrez utiliser des fonctions plus avancées ou ouvrir des fichiers qui se trouvent sur votre ordinateur, vous voudrez installer Python sur votre ordinateur (ou utiliser ceux du laboratoire). Au laboratoire, nous utilisons Spyder sous un environnement conda. Vous pouvez suivre ces instructions pour recréer l’environnement utilisé au laboratoire, incluant la librairie Kinetics Toolkit. Utilisez les instructions d’installation de la version de développement. N’hésitez pas à demander de l’aide.

Utilisation de Spyder

Spyder est un environnement de développement intégré (IDE) créé expressément pour une utilisation scientifique. Son interface rappelle celle de Matlab. La disposition standard des sections de Spyder est illustrée ci-dessous.

Run cell
Run file

La section A est l’éditeur de texte. C’est dans cet éditeur où on tape et sauvegarde des scripts qu’on peut exécuter par la suite, soit tout d’un coup à l’aide du bouton Run file, ou une cellule à la fois à l’aide des boutons Run cell (on crée des cellules dans un script en tapant #%% .

La section B est un panneau comportant, entre autres, ces deux outils intéressants :

  • Un outil d’aide dans lequel on peut taper la commande ou l’objet sur lequel on veut de l’aide (similaire aux fonctions help ou dir mentionnées dans les tutoriels);
  • Un explorateur de variables où on peut visualiser les variables qu’on a créées.

La section C est la console où on peut écrire directement des commandes python. C’est l’équivalent de la console >>> qu’on voit régulièrement dans les tutoriels.

Bases de Python

Je suis récemment tombé sur ce bijou de tutoriels de Socratica (Ulka Simone Mohanty) et je crois que ces tutoriels seraient très difficiles à battre. Je recommande ceux-ci, dans cet ordre, pour apprendre les rudiments du language Python. Ne surtout pas manquer l’introduction (ci-dessous).

Je vous suggère de reproduire, dans l’environnement virtuel, les commandes qu’elle présente (et également d’en essayer d’autres – vous ne pouvez rien briser) afin de bien maîtriser chaque notion avant de passer à la suivante.

  1. Chaînes de caractères (string)
  2. Nombres (int, float, complex)
  3. Arithmétique
  4. Aide interactive (Dans Spyder, on peut également utiliser le panneau d’aide intégré)
  5. Booléens (True, False) et opérations logiques
  6. Conditions (if, elif, else)
  7. Fonctions
  8. Ensembles (set)
  9. Listes (list)
  10. Dictionnaires (dict)
  11. Tuples (tuple)

D’autres tutoriels sont également disponibles sur le channel de Socratica, mais ces onze tutoriels font le tour des rudiments vraiment nécessaires. Les autres sont également très intéressants mais moins génériques.

Ces tutoriels de Corey Schafer sont également d’une qualité remarquable. Corey va un peu plus loin que Socratica, alors je suggère de les suivre en deuxième pour approfondir certains éléments qui sont abordés parfois trop rapidement avec Socratica (par exemple, les boucles et itération (for, while).

  1. Chaînes de caractères (string)
  2. Nombres (int, float)
  3. Listes, tuples et ensembles (list, tuple, set)
  4. Dictionnaires (dict)
  5. Booléens (True, False) et conditions (if, elif, else)
  6. Boucles et itération (for, while)
  7. Fonctions

Numpy

Numpy est la librarie de facto pour les calculs mathématiques sur des listes multidimensionnelles (matrices). C’est une librairie extrêmement puissante et performante qui facilite les opérations d’algèbre linéaire.

Numpy s’apparente à Matlab, aussi les utilisateurs aguerris de Matlab peuvent s’y retrouver à l’aide de ce guide.

Pour les tout nouveaux usagers, voici un extrait d’un guide visuel bien fait pour démarrer, par Jay Alammar.