Chapitre 0 : Rappel des notions de bases
0.1 C’est quoi Python ?
Le langage de programmation Python a été créé en 1989 par Guido van Rossum, aux Pays-
Bas. Le nom Python vient d’un hommage à la série télévisée Monty Python’s Flying Circus
dont G. van Rossum est fan. La première version publique de ce langage a été publiée en
1991. La dernière version de Python est la version 3. Plus précisément, la version 3.x. La
version 2 de Python est désormais obsolète et a cessé d’être maintenue après le 1er janvier
2020. Dans la mesure du possible évitez de l’utiliser.
0.2 Installation et configuration Python
- Installation de l’interpréteur Python 3.9
- Installation de l’IDE PyCharm
0.3 Premier programme
print("Bonjour le monde !")
0.4 Variables
Une variable est une zone de la mémoire de l’ordinateur dans laquelle une valeur est stockée.
Aux yeux du programmeur, cette variable est définie par un nom, alors que pour l’ordinateur,
il s’agit en fait d’une adresse, c’est-à-dire d’une zone particulière de la mémoire. En Python, la
déclaration d’une variable et son initialisation (c’est-à-dire la première valeur que l’on va
stocker dedans) se font en même temps.
Les types de variables
Le type d’une variable correspond à la nature de celle-ci. Les trois principaux types dont nous
aurons besoin dans un premier temps sont les entiers (integer ou int), les nombres décimaux
que nous appellerons floats et les chaînes de caractères (string ou str). Bien sûr, il existe de
nombreux autres types (par exemple, les booléens, les nombres complexes, etc.). Pour en savoir
plus sur les types, consulter la documentation de référence
https://docs.python.org/fr/3.9/library/stdtypes.html
Note : Remarque
Python reconnaît certains types de variable automatiquement (entier, float). Par contre, pour
une chaîne de caractères, il faut l’entourer de guillemets (doubles, simples, voire trois
guillemets successifs doubles ou simples) afin d’indiquer à Python le début et la fin de la chaîne
de caractères. Dans l’interpréteur, l’affichage direct du contenu d’une chaîne de caractères se
fait avec des guillemets simples, quel que soit le type de guillemets utilisé pour définir la chaîne
de caractères. En Python, comme dans la plupart des langages de programmation, c’est le point
qui est utilisé comme séparateur décimal. Ainsi, 3.14 est un nombre reconnu comme un float
en Python alors que ce n’est pas le cas de 3,14.
Nommage
Le nom des variables en Python peut être constitué de lettres minuscules (a à z), de lettres
majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné (_). Vous ne pouvez pas utiliser
d’espace dans un nom de variable. Par ailleurs, un nom de variable ne doit pas débuter par un
chiffre et il n’est pas recommandé de le faire débuter par le caractère _ (sauf cas très
particuliers). De plus, il faut absolument éviter d’utiliser un mot « réservé » par Python comme
nom de variable (par exemple : print, range, for, from, etc.). Enfin, Python est sensible à la
casse, ce qui signifie que les variables TesT, test ou TEST sont différentes.
Opérations
Opération Opérateur
addition +
soustration -
division /
division entière //
modulo %
puissance **
multiplication *
Sur les chaînes de caractères
L’opérateur d’addition + concatène (assemble) deux chaînes de caractères. L’opérateur de
multiplication * entre un nombre entier et une chaîne de caractères duplique (répète) plusieurs
fois une chaîne de caractères.
0.5 Conversion de types
En programmation, on est souvent amené à convertir les types, c’est-à-dire passer d’un type
numérique à une chaîne de caractères ou vice-versa. En Python, rien de plus simple avec les
fonctions int(), float() et str().
0.6 La fonction print()
La fonction print() affiche l’argument qu’on lui passe entre parenthèses et un retour à ligne. Ce
retour à ligne supplémentaire est ajouté par défaut. Si toutefois, on ne veut pas afficher ce retour
à la ligne, on peut utiliser l’argument par « mot-clé » end
0.7 Listes
Une liste est une structure de données qui contient une série de valeurs. Python autorise la
construction de liste contenant des valeurs de types différents (par exemple entier et chaîne de
caractères), ce qui leur confère une grande flexibilité. Une liste est déclarée par une série de
valeurs (n’oubliez pas les guillemets, simples ou doubles, s’il s’agit de chaînes de caractères)
séparées par des virgules, et le tout encadré par des crochets.
0.8 Fonction len()
L’instruction len() vous permet de connaître la longueur d’une liste, c’est-à-dire le nombre
d’éléments que contient la liste.
Chapitre 1 : Notions avancées
1.1 Les Boucles
La Boucle for
En programmation, on est souvent amené à répéter plusieurs fois une instruction.
Incontournables à tout langage de programmation, les boucles vont nous aider à réaliser cette
tâche de manière compacte et efficace
La Fonction range()
Python possède la fonction range() que nous avons rencontrée précédemment sur les Listes et
qui est aussi bien commode pour faire une boucle sur une liste d’entiers de manière
automatique :
1.2 La Boucles while
Une autre alternative à l’instruction for couramment utilisée en informatique est la boucle while.
Le principe est simple. Une série d’instructions est exécutée tant qu’une condition est vraie. Par
exemple :
Remarquez qu’il est encore une fois nécessaire d’indenter le bloc d’instructions correspondant
au corps de la boucle (ici, les instructions lignes 3 et 4).
Une boucle while nécessite généralement trois éléments pour fonctionner correctement :
1. Initialisation de la variable d’itération avant la boucle (ligne 1).
2. Test de la variable d’itération associée à l’instruction while (ligne 2).
3. Mise à jour de la variable d’itération dans le corps de la boucle (ligne 4).
Exercice :
Constituez une liste semaine contenant les 7 jours de la semaine. Écrivez une série
d’instructions affichant les jours de la semaine (en utilisant une boucle for), ainsi qu’une autre
série d’instructions affichant les jours du week-end (en utilisant une boucle while).
1.3 Les Tests
Les tests sont un élément essentiel à tout langage informatique si on veut lui donner un peu de
complexité car ils permettent à l’ordinateur de prendre des décisions. Pour cela, Python utilise
l’instruction if ainsi qu’une comparaison que nous avons abordée au chapitre précédent. Voici
un premier exemple :
Il y a plusieurs remarques à faire concernant ces deux exemples :
— Dans le premier exemple, le test étant vrai, l’instruction print("Le test est vrai !") est
exécutée. Dans le second exemple, le test est faux et rien n’est affiché.
— Les blocs d’instructions dans les tests doivent forcément être indentés comme pour
les boucles for et while. L’indentation indique la portée des instructions à exécuter si le
test est vrai.
— Comme avec les boucles for et while, la ligne qui contient l’instruction if se termine
par le caractère deux-points « : ».
Tests à plusieurs cas
Instructions break et continue
Ces deux instructions permettent de modifier le comportement d’une boucle (for ou
while) avec un test. L’instruction break stoppe la boucle.
L’instruction continue saute à l’itération suivante, sans exécuter la suite du bloc
d’instructions de la boucle.
1.4 Les Modules
Les modules sont des programmes Python qui contiennent des fonctions que l’on est
amené à réutiliser souvent (on les appelle aussi bibliothèques ou libraries). Ce sont des
« boîtes à outils » qui vont vous être très utiles. Les développeurs de Python ont mis au
point de nombreux modules qui effectuent une quantité phénoménale de tâches. Pour
cette raison, prenez toujours le réflexe de vérifier si une partie du code que vous
souhaitez écrire n’existe pas déjà sous forme de module. La plupart de ces modules sont
déjà installés dans les versions standards de Python. Vous pouvez accéder à une
documentation exhaustive sur le site de Python. N’hésitez pas à explorer un peu ce site,
la quantité de modules disponibles est impressionnante (plus de 300).
. https://docs.python.org/fr/3/py-modindex.html
1.5 La programmation orientée objet (POO)
La programmation orientée objet (POO) est un concept de programmation très puissant
qui permet de structurer ses programmes d’une manière nouvelle. En POO, on définit
un « objet » qui peut contenir des « attributs » ainsi que des « méthodes » qui agissent
sur lui-même. Par exemple, on définit un objet « citron » qui contient les attributs «
saveur » et « couleur », ainsi qu’une méthode « presser » permettant d’en extraire le jus.
En Python, on utilise une « classe » pour construire un objet. Dans notre exemple, la
classe correspondrait au « moule » utilisé pour construire autant d’objets citron que
nécessaire.
Une classe définit des objets qui sont des instances (des représentants) de cette classe.
Dans ce chapitre on utilisera les mots objet ou instance pour désigner la même chose.
Les objets peuvent posséder des attributs (variables associées aux objets) et des
méthodes (qui sont des fonctions associées aux objets et qui peuvent agir sur ces
derniers ou encore les utiliser).