Les bases de Python

Cette partie est la plus difficile du cours, à la fin de celle-ci vous aurez déjà toutes les notions nécessaires à la création de programmes simples, alors bonne chance et n'hésitez pas à relire plusieurs fois cette partie.

La structure d'un programme

Le code d'un programme Python se lit comme un texte écrit en anglais : une ligne après l'autre, de haut en bas. Chaque ligne correspond à une instruction. Python utilise l'indentation pour marquer les blocs qui vont ensemble. Ne vous en faites pas si vous ne comprenez pas encore, ça sera beaucoup plus clair à la fin de cette leçon.

Il existe en programmation (et en Python par extension), 3 sortes de mécanismes :

  • Les données : on s'en sert pour stocker des chiffres, l'adresse-mail d'un utilisateur, une photo, etc. En programmation, c'est ce que l'on appelle une variable. Comme vous allez le voir, il en existe plusieurs. Pour notre cas d'utilisation, nous allons utiliser les nombres entiers pour stocker l'année de départ, les nombres décimaux et les listes (qui permettent de stocker un ensemble de variables pour qu'on puisse les parcourir plus facilement)
  • Les fonctions : ce sont elles qui transforment les données ou effectuent une action. Vous avez vu dans la partie précédente, la fonction print() qui permet d'afficher du texte. De la même façon, il existe des fonctions permettant de calculer un écart-type, de télécharger un fichier, de retoucher une image, etc. On peut évidemment créer nos propres fonctions, c'est d'ailleurs ce que l'on va faire.
  • Les structures de contrôle : derrière ce nom barbare se cache en fait un concept très simple. Les structures de contrôle permettent de réaliser une action en fonction de certaines conditions. Ainsi, il est possible de dire à son programme "si la variable age

Les différents types de variables

Les nombres entiers

Notez l'utilisation du dièse (#). Tout ce qui suit un dièse sur une même ligne en Python est considéré comme un commentaire. C'est un petit texte qui sert à expliquer comment le programme fonctionne. Vous pouvez écrire n'importe quoi, Python ne l'interprétera jamais.

Les nombres à virgules

Les listes

Les fonctions

Les fonctions en programmation sont un peu comme les fonctions en mathématiques. On envoie à une fonction une donnée (c'est ce que l'on appelle le paramètre) et elle nous retourne une valeur (appelée simplement le retour)

En Python, on définit une fonction grâce au mot-clé def. Le corps de la fonction est alors indenté.

Les fonctions avec paramètre, avec retour

On commence directement par le cas le plus compliqué, mais également le plus proche des mathématiques ! Imaginons qu'on veuille créer une fonction `f(x) = 3X + 5` en Python par exemple. Pour cela nous devons lui trouver un nom, pour cet exemple, on va l'appeler "fonction_exemple" (notez qu'il n'y a pas d'espace dans le nom des fonctions en python). On utilise ensuite le mot-clé return suivi de la variable (ou directement du calcul) que l'on veut retourner. Son écriture est alors très simple :

Le mot-clé return permet de retourner la variable : c'est ce qui permet à la variable "resultat" de stocker la valeur du résultat de la fonction.

Si vous avez compris cet exemple du premier coup, félicitations, les autres exemples vont paraitre simples.

Les fonctions sans paramètre, sans retour

Il est également possible de créer des fonctions en Python qui ne retourne rien et qui ne prenne pas de paramètre non plus. Ces fonctions ne sont pas très utilisées mais vous trouverez en-dessous un exemple, qui dit simplement "Bonjour tout le monde" lorsque la fonction est appelée.

Les fonctions sans paramètre, avec retour

C'est simple à comprendre, l'exemple parle de lui même :

Les fonctions avec plusieurs paramètres

Nous allons créer une fonction qui prend 2 nombres, les additionne et ajoute 4 au résultat. La fonction peut se résumer ainsi `f(x, y) = x + y + 4`. Le code ci-dessous permet de voir que pour utiliser plusieurs paramètres dans une fonction, il suffit de séparer le nom des paramètres par des virgules.

Les structures de contrôle

Grâce aux structures de contrôle, nous allons pouvoir réaliser des actions en fonction des données reçues. Par exemple, à l'heure actuelle, vous ne savez pas encore écrire une fonction capable de dire "X est positif" quand X est supérieur à 0 et "X est négatif" quand X est inférieur à 0.

Le if/else

Le if/else (ou en français le "si/sinon") permet de définir ce comportement. Le code ci-dessous vous montre un cas d'utilisation :

La boucle for

La boucle "for" en Python sert généralement à parcourir des listes. Le code ci-dessous permet de parcourir une liste et d'afficher ces éléments un par un.

Notez l'utilisation de la fonction str() qui permet de convertir le nombre en texte (car la fonction print() ne permet d'afficher que du texte).

La boucle while

La boucle while permet de répéter une action tant qu'une condition est remplie.

Pfiou ! Vous avez réussi à finir la partie la plus dure du cours ! Avec ce que vous venez d'apprendre, vous pouvez déjà réaliser le programme sans connaissance supplémentaire. Si vous n'avez pas encore tout compris, pas de panique, les leçons suivantes prendront le temps d'éclaircir les zones d'ombres.