Développement Web avec Python
Programmation en python
Année 2020-2021
Programme de la séance 1
2
• Python??Pourquoi??
26 • Environnement de développement
• Types de données, opérations
– nombres
Développement Web
– valeurs logiques
– textes
Python
• Variables, instruction d’affectation
• Fonctions d’entrées / sorties
• Séquences d’instructions, blocs composés
• Instruction if
Hassna Bensag
Année 2020-2021
INTRODUCTION
Année 2020-2021
Qu'est-ce que Python ?
4 • Python est un langage de programmation de
26 haut niveau qui est :
• Interprété : Python est traité à l'exécution par
l'interpréteur ligne par ligne.
Développement Web
• Interactif : Vous pouvez utiliser une invite
Python
Python et interagir directement avec
l'interpréteur pour écrire vos programmes.
• Orienté objet : Python supporte le paradigme
orientée objet.
Hassna Bensag
Année 2020-2021
Histoire de Python
5 • Python a été créé en 1989 par Guido Van Rossum
26
• La première version publique de ce langage a été
publiée en 1991 au CWI aux Pays-Bas.
• Python est dérivé du langage de programmation
Développement Web
ABC, qui a été développé au CWI
Python
• G. Van Rossum a choisit le nom « Python », vu
qu'il était un grand fan de la série Monty Python
• Puis Python 3.0 est sorti le 3 décembre 2008.
Hassna Bensag
Année 2020-2021
Pourquoi Python
6 • Python est récompensé comme le meilleur langage
26 de programmation de l'année 2020 (Source TIOBE
Programming Community)
Développement Web
Python
Hassna Bensag
Année 2020-2021
Pourquoi Python - tech skills trend
7 • Selon le site [Link], la montée en croissance de
26 Python est beaucoup plus élevé que celle des autres
langues.
Développement Web
Python
Hassna Bensag
Année 2020-2021
les caractéristiques de python
8 • Facile à apprendre
26
• Multiplateforme
• Gratuit et Open Source
Développement Web
• Orienté Objet
Python
• Typiquement dynamique: nous n'avons pas
besoin de spécifier le type de données lors de
la déclaration.
• Large choix de bibliothèque
Hassna Bensag
Année 2020-2021
L’ENVIRONNEMENT DE TRAVAIL
ATELIER1
Année 2020-2021
SYNTAXE DE BASE
Année 2020-2021
Script Python
11
26
• Les fichiers Python ont l'extension .py
• Contiennent une liste d’instructions
Développement Web
• Le point-virgule ( ; ) est facultatif à la fin de
Python
l’instruction.
• Lecture des entrées clavier:
• Génère la sortie du script:
Hassna Bensag
Année 2020-2021
Développement Web
26
12
Hassna Bensag
Python
Année 2020-2021
Commentaires
Indentation
13 • L'indentation est utilisée en Python pour
26 délimiter les blocs. Le nombre d'espaces est
variable, mais tous les instructions d'un même
bloc doivent être indentés de la même façon.
Développement Web
Python
Hassna Bensag
Année 2020-2021
Variables
14
• Python est doté d’un typage dynamique
26
• La déclaration se fait automatiquement lorsque vous
attribuez une valeur à une variable.
Développement Web
• Les variables peuvent changer de type, simplement en
Python
leur attribuant une nouvelle valeur d'un type différent.
• Python vous permet d'assigner une seule valeur à
plusieurs variables simultanément.
Hassna Bensag
Année 2020-2021
Variables
15
26 • Vous pouvez également assigner plusieurs
objets à plusieurs variables.
Développement Web
• Pour échanger des variables Python
Python
• Pour supprimer une variable python
Hassna Bensag
Année 2020-2021
Principaux type de données
16 • Entier (int)
26
• Flottant (float)
• Texte (chaîne de caractères) (str)
Développement Web
• Booléen (bool):True, False
Python
• Rien, indéfini (NoneType)
Hassna Bensag
Année 2020-2021
Opérateurs arithmétiques
17 • Addition +
26
• Soustraction -
• Multiplication *
Développement Web
• Division flottante /
Python
• Division entière //
• Reste de la division entière (modulo) %
• Exponentielle **
Hassna Bensag
Année 2020-2021
Opérateurs logiques
18 • et (and): x < 18 and x < 24
26
• ou (or): x < 18 or x < 24
• non (not): not(x < 18 or x < 24)
Développement Web
• Valeurs de retour
Python
– Vrai : True
– Faux : False
Hassna Bensag
Année 2020-2021
Opérateurs de comparaison
19
26
Opérateur Exemple
== x == y
x != y
Développement Web
!=
> x > y
Python
< x < y
>= x >= y
<= x <= y
Hassna Bensag
Année 2020-2021
Chaînes de caractères
20 • Première syntaxe sans retour à la ligne
26
• Deuxième syntaxe avec retour à la ligne
• Les indices de chaîne débutent à 0.
Développement Web
• Les indices commencent à -1 à la fin
Python
• Concaténation
– Remarque: on ne peut pas concaténer un String et un
Nombre
Hassna Bensag
• Répétition
Année 2020-2021
Chaine de caractères
• Méthodes:
21
Méthode Description
26
lower() et upper(): [Link]() , [Link]() Renvoie respectivement une chaine en miniscule et en
majuscule
strip(): [Link]() Supprime les espaces blancs au début et à la fin de la chaîne. Et
retourne la chaine.
Développement Web
replace():[Link](oldvalue,newvalue,[count]) Remplace « count » occurences de « oldvalue » par
« newvalue ». L’argument count est optionnel, par default c’est
Python
toutes les occurrences.
Split(): [Link]([seperator]) Divise la chaîne en fonction du délimiteur (espace par default)
et renvoie une liste de sous-chaîne.
isalnum(), isalpha(), isspace() retournent True si la chaîne ne contient respectivement
que des caractères alphanumériques, alphabétiques,
numériques ou des espaces
find(value): [Link](value) La méthode find() trouve la première occurrence de la valeur
spécifiée. La méthode find() renvoie -1 si la valeur n'est pas
Hassna Bensag
trouvée.
• Fonctions: len(str)retourne la longueur de la chaine str
Année 2020-2021
Instruction if
22
26 if condition1 :
Bloc exécuté si
condition1 est
vrai.
elif condition2 :
Développement Web
Bloc exécuté si condition1 est
faux et condition2 est vrai.
Python
else :
Bloc exécuté si aucune
condition n'est vraie.
• Les condition sont des expressions logiques
booléennes évaluées à True ou False.
Hassna Bensag
Année 2020-2021
Exercice1
• Créez un nouveau script Python dans votre répertoire pyworkproject que vous
23 nommerez [Link].
26 • L'IMC ou Indice de Masse Corporelle est défini par l'OMS (Organisation Mondiale
de la Santé), pour les adultes de 16 à 70 ans, comme étant le rapport du poids sur
le carré de la taille, le poids étant exprimé en kilo-grammes, et la taille en mètres.
• On définit ensuite des plages correspondant à une indication de classification :
Développement Web
IMC Interprétation
Python
+40 obésité morbide ou massive
35 à 40 obésité sévère
30 à 35 Obésité modérée
25 à 30 surpoids
18.5 à 25 corpulence normale
Hassna Bensag
16.5 à 18.5 maigreur
- de 16.5 famine
Année 2020-2021
Exercice2
24
1. Demander à l'utilisateur de saisir le poids en kilo-grammes et la
26 taille en centimètres. Stockez ces deux nombres dans les variables
poids et taille.
2. Calculez la variable imc à partir de la formule donnée (attention
aux unités) et affichez-le.
Développement Web
3. Suivant la valeur de cette variable, affichez la chaîne
correspondant à l'interprétation qui est faite (choisissez dans
Python
quelle tranche vous mettez les valeurs seuils).
• Par exemple pour une personne de 85 Kg mesurant 1,75 m, l'exécution
produira (en gras la saisie de l'utilisateur) :
Votre poids en Kg:85
Votre taille en cm:175
imc: 27.755102040816325
surpoids
Hassna Bensag
Année 2020-2021
Programme de la séance 2
25 • Les listes
26
• Les tuples
• Les dictionnaires
Développement Web
• Les Set
Python
• Les boucles
Hassna Bensag
Année 2020-2021
List
• Une liste est une collection ordonnée et
26
modifiable d’éléments éventuellement
26
hétérogènes (pas nécessairement du même
type).
• Les éléments de la liste sont indexés, le
Développement Web
premier élément a un index [0].
Python
• Il est possible de spécifier une gamme
d'indices en précisant où commencer et où
terminer la gamme. La valeur de retour sera
une nouvelle liste avec les éléments spécifiés.
• Pour déterminer si un élément est présent
dans une liste. Il faut utiliser (in)
Hassna Bensag
Année 2020-2021
List
• Il est possible de modifier la valeur d'un
27
élément spécifique ou les éléments dans une
26
plage.
• Lorsque vous insérez moins d'éléments que
Développement Web
vous remplacez. les nouveaux éléments seront
insérés à l'endroit que vous avez indiqué, et les
Python
autres éléments seront supprimés
Hassna Bensag
Année 2020-2021
List
• Méthodes: list= ['Java','Python','C#']
28
Méthode Description
26
[Link](2,"sql") Ajoute un élément à l’index spécifié
[Link]("J2ee") Ajoute un élement à la fin de la liste
Développement Web
[Link](list2) Ajoute des éléments d'une liste (list2) à la liste actuelle (list)
Python
[Link]("laravel") Supprime l’élément spécifié de la liste actuelle
[Link](1) Supprime l'élément à l'index spécifié.
[Link]() Vide la liste.
[Link]() Trie la liste de manière alphanumérique, en ordre croissant, par
défaut. En ordre décroissant [Link](reverse=True)
[Link]() Inverse l'ordre actuel des éléments.
Hassna Bensag
list2=[Link]() Créée une copie de la liste (list) dans la liste (list2)
• Fonctions: len(list)retourne la longueur de la liste (list)
Année 2020-2021
Boucle: for et while
29 • For
26
Développement Web
• While
Python
Hassna Bensag
Année 2020-2021
Exercice2
30 • Créez un fichier [Link].
26
• À partir des deux listes suivantes :
– vehicules = ["train", "bus", "voiture", "vélo"]
Développement Web
– couleurs = ["rouge", "vert", "bleu", "jaune"]
Python
1. Créez de façon automatique une liste lst contenant des
chaînes avec toutes les combinaisons de véhicule et couleur:
["train rouge", "train vert",… "vélo jaune"]
2. Modifiez le script pour que la combinaison "voiture vert" ne
soit pas ajoutée à la liste lst lors de sa construction
Hassna Bensag
Année 2020-2021