Concepts

La programmation repose sur quelques concepts (variables, fonctions, ...) partagés par tous les langages. Nous allons nous concentrer sur les langages à objets, dont python fait parti, ou l'on manipule des "objets" référencés par des "variables". Ces langages forment une grande majorité des langages utilisés (python, javascript, java, ...) et leurs concepts sont majoritairement utilisés dans des langages à structure comme le go ou encore le rust.

En tout état de cause, ce sont des langages idéals pour commencer à programmer.

Fondements

Conteneurs et mutabilité

Les conteneurs sont des objets contenant des variables. Python a popularisé ces structures qui sont maintenant universellement utilisées.

Les conteneurs sont liés à une notion fondamentale en python et dans tous les langages objets qu'est la mutabilité.

La notion de mutabilité d'un objet est cruciale à comprendre. Elle permet du code clair et optimisé (aucun objet n'est copié) mais est la cause de nombre d'erreurs a priori incompréhensibles si on ne l’appréhende pas bien.

Chaines de caractères

Les chaines de caractères ne sont pas sticto sensu des conteneurs puisqu'elles sont composés de caractères et par de variables, mais elles partagent de nombreuses propriétés avec les listes comme on va le voir. Elles sont très utilisés lorsqu'un programme doit communiquer avec son utilisateur et python permet de faire beaucoup de choses avec elles :

Modules et espace de nommage

Les modules pythons sont des regroupement de fonctions utiles.

Il existe quelques modules externes à python très utilisés. Ils ne sont pas présent par défaut lorsque l'on installe un nouvel interpréteur mais de nombreuses solutions les intègrent par défaut. C'est le cas de spyder, vous pouvez donc faire les deux tutoriaux suivant sans avoir à installer quoi que ce soit.

module matplotlib

Le module matplotlib est devenu un standard de fait (pour le meilleur et surtout le pire) pour représenter des graphiques.

Si vous avez le choix, je conseille plutôt d'utiliser le module seaborn pour dessiner vos graphique. Mais comme ce module est basé sur matplotlib, une connaissance minimale de matplotlib, comme le donne le tutoriel précédent est tout de même nécessaire.

module numpy

Le module numpy est très utilisé pour les calculs scientifique, en particulier matriciels.

Tutoriel python

Terminez cette partie en faisant le tutoriel de python qui reprend tout ce que nous avons vu, parfois de façon plus détaillée :

On vérifie qu'on a compris