Cours Python (Chapitre1)
Cours Python (Chapitre1)
❖ Objectifs du module:
2
Plan
1 2 3
- Le langage de programmation Python a été créé en 1989 par Guido van Rossum, aux Pays-
Bas.
- La première version publique de ce langage a été publiée en 1991.
- Python Software Foundation est l’association qui organise le développement de Python et
anime la communauté de développeurs et d’utilisateurs.
- Quelques caractéristiques intéressantes:
⁺ Gratuit et open source
⁺ Multiplateforme
⁺ Un langage de haut niveau
⁺ Un langage interprété.
⁺ Typage dynamique.
⁺ Il est relativement simple à prendre en main
⁺ Il est très utilisé en analyse de données
6
Chapitre 1: Les fondamentaux du Python
❖ Introduction
❑ Les environnements de développement
- Pour écrire et exécuter des scripts python, il existe plusieurs éditeurs et environnements de
développement (liste non exhaustive)
8
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Des objets et des noms
Une variable en python est un nom qui est associé à un objet et qui va nous
permettre d’accéder plus facilement à cet objet.
annee = 2022
nom objet
Une variable en python est un nom qui est associé à un objet et qui va nous
permettre d’accéder plus facilement à cet objet.
annee = 2022
nom objet
10
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Des objets et des noms
Une variable en python est un nom qui est associé à un objet et qui va nous
permettre d’accéder plus facilement à cet objet.
annee = 2022
nom objet
Une variable en python est un nom qui est associé à un objet et qui va nous
permettre d’accéder plus facilement à cet objet.
annee = 2022
nom objet
Une variable en python est un nom qui est associé à un objet et qui va nous
permettre d’accéder plus facilement à cet objet.
annee = 2022
nom objet
annee2 = 2023
annee2 2023 nom, alors python il va se
débarrasser de cet objet
annee = 2024 annee3 2024 'Garbage Collector'
14
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Ecriture scientifique
On peut écrire des nombres très grands ou très petits avec des puissances de 10 en utilisant le symbole e
1 * 106
3.12 * 10-3
Python autorise l’utilisation du caractère « souligné » (ou underscore) _ pour séparer des groupes de chiffres.
Par exemple :
15
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Les opérations
1. Opérations sur les types numériques
Les quatre opérations arithmétiques de base sur les types (int et float):
+
-
*
/
Remarques:
• L’opérateur / effectue une division. Contrairement aux opérateurs +, - et *, celui-ci renvoie systématiquement un float.
• L’opérateur puissance utilise les symboles ** (2**3 = 8)
• Pour obtenir le quotient et le reste d’une division entière, on utilise respectivement les symboles // et modulo %
• Un opérateur combiné effectue une opération et une affectation en une seule étape (i = i+1 → i+=1)
16
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Les opérations
2. Opérations sur les chaînes de caractères
Pour les chaînes de caractères, deux opérations sont possibles, l’addition et la multiplication :
17
Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Les opérations
3. Les opérateurs de comparaison et connecteurs logiques
opérateurs de comparaison : connecteurs logiques : Le type booléen est un sous classe de type nombre
True + 1 = 2 False + 7 = 7
< and (&)
>>>issubclass(bool,int)
<= or (I) True
== not(valeur)
True
!= False
>=
>
À quelle valeur booléenne correspond cette expression Python ? ("A" != "A") or not (2 >= 3)
18
Chapitre 1: Les fondamentaux du Python
❖ Type et conversion
19
Chapitre 1: Les fondamentaux du Python
Conventions générales du langage
• Les fichiers de code en python sont nommés
nom_de_fichier.py
• Les instructions sont séparées par un retour à la ligne (une
instruction par ligne)
• Indentation (4 espaces ou tabulations): Il est fortement
recommandé d'utiliser 4 espaces pour chaque niveau
d'indentation (accolades en C {}).
• 79 caractères: Une ligne de code ne devrait pas dépasser 79
caractères.
• Les lignes qui débutent par # sont ignorées par le langage
(lignes de commentaires)
20
Chapitre 1: Les fondamentaux du Python
Affichage de données
• Pour afficher la valeur d’une variable x, on écrit : print(x)
• Pour afficher plusieurs valeurs, on les sépare par une virgule : print(a,b,c,....)
Remarques:
print("C:\Program\twitter\nbroftweets")
→ C:\Program witter
broftweets
Raw string: permet de traiter une chaine de caractères d’une façon brute
print(r"C:\Program\twitter\nbroftweets")
21
Chapitre 1: Les fondamentaux du Python
Saisie de données
• Pour permettre à l’utilisateur d’un programme de saisir la valeur
d’une variable x, on utilise la fonction input()comme ceci :
x = input("saisir la valeur de x : ")
22
Chapitre 1: Les fondamentaux du Python
Exemple
23
Chapitre 1: Les fondamentaux du Python
❖ Les structures conditionnelles
• Syntaxe : • Exemple :
if test:
indentation
instruction1
instruction2
…
else:
instruction1
indentation
instruction2
…
24
Chapitre 1: Les fondamentaux du Python
❖ Les structures conditionnelles
• Syntaxe : • Exemple :
if test:
instruction(s)
elif test:
instruction(s)
elif test:
instruction(s)
…
else:
instruction(s)
25
Chapitre 1: Les fondamentaux du Python
❖ Boucle for en Python
• Syntaxe : • Exemples :
for i in range(a,b):
instruction(s)
26
Chapitre 1: Les fondamentaux du Python
❖ Boucle for en Python
→ Boucles imbriquées
for i in range(3):
for j in range(2):
print(i, j)
27
Chapitre 1: Les fondamentaux du Python
❖ Boucle for en Python
→ Boucles imbriquées
• Exemples :
n = 2
for i in range(2):
for j in range(3):
n = n*2 # n*=2
print(n)
28
Chapitre 1: Les fondamentaux du Python
❖ Boucle while en Python
• Syntaxe : • Exemple :
while condition:
instruction(s)
29
Chapitre 1: Les fondamentaux du Python
❖ Boucle while en Python
0 2
1 4
2 6
3 8
4
30
Chapitre 1: Les fondamentaux du Python
❖Les structures de données
• Les listes et les tuples sont des structures de données qui permettent de former des
séquences.
• On dit que chaque élément il a un indice (ou index) qui indique sa position dans la
structure.
31
Chapitre 1: Les fondamentaux du Python
❖ Les listes
32
Chapitre 1: Les fondamentaux du Python
❖ Les listes
Liste1 = [1,2,3,4]
Liste2 = [5,6,7]
Liste3 = [Liste1, Liste2] # ➔ [[1,2,3,4], [5,6,7]]
Question: Quelle est la taille de la Liste3? len(Liste3)
Réponse: Deux éléments de type liste
33
Chapitre 1: Les fondamentaux du Python
❖ Opération sur les listes
Tout comme les chaînes de caractères, les listes supportent l’opérateur + de concaténation, ainsi que l’opérateur
* pour la duplication.
Commenter les lignes suivantes
34
Chapitre 1: Les fondamentaux du Python
❖ Opération sur les listes
35
Chapitre 1: Les fondamentaux du Python
❖ Opération sur les listes
36
Chapitre 1: Les fondamentaux du Python
❖ Les tuples
Un tuple est une liste qui ne peut plus être modifiée.
A l’exception de modification du contenu d’un tuple, toutes les opérations qu’on a appliqué sur les listes restent valides
pour les tuples (extraction des valeurs via l’indice, l’indiçage négatif, les tranches).
→ Les tuples sont des structures de données non mutable (càd on peut pas ni modifier ni supprimer ni ajouter des
éléments après la création d’un tuple)
Comment peut-on afficher le premier élément du 3éme élément de la tuple un_tuple?
print (un_tuple[2][0])
37
Chapitre 1: Les fondamentaux du Python
❖ Les tuples
Importance d’utilisation
✓ Vous représentez des structures de données qui ne devraient pas changer (ex: connexion avec serveur web)
→ L'immuabilité n'est pas une limitation, mais une caractéristique qui garantit l'intégrité des données et
permet certaines optimisations.
38
Chapitre 1: Les fondamentaux du Python
❖ Les dictionnaires
Un dictionnaire en python: Structure de données qui permet de stocker une collection de données n’est pas ordonnée
mais qui utilise un système clé:valeur
Autrement dit, un dictionnaire est une sorte de liste mais au lieu d'utiliser des index, on utilise des clés
alphanumériques.
Pour ajouter des valeurs dans un dictionnaire, il faut indiquer une clé ainsi qu'une valeur:
39
Chapitre 1: Les fondamentaux du Python
❖ Les dictionnaires
40
Chapitre 1: Les fondamentaux du Python
❖ Les dictionnaires
Pour récupérer les clés d'un dictionnaire python par une boucle?
Pour récupérer les valeurs d'un dictionnaire python par une boucle?
Pour récupérer les clés et les valeurs d'un dictionnaire python par une boucle (méthode items())
41
Chapitre 1: Les fondamentaux du Python
❖ Les dictionnaires
Pour utiliser des tuples comme clé dans un dictionnaire python
Pour créer une copie indépendante vous pouvez utiliser la méthode copy() :
Pour fusionner des dictionnaires on utilise la méthode update() ou bien l'opérateur de déballage **
>>> dictionnaire1.update(dictionnaire2) OR merged_dict = {**dict1, **dict2}
16
20
16
16
43
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
N.B:
En Python, une fonction peut retourner plusieurs résultats en regroupant ces résultats dans un tuple, une liste
ou un autre type de données.
Lorsque la fonction utilise le mot-clé return suivi de plusieurs valeurs séparées par des virgules, ces valeurs sont
automatiquement regroupées dans un tuple.
def multiple_resultats():
resultat1 = 10
resultat2 = "Bonjour"
return resultat1, resultat2
res = multiple_resultats()
print(res) # affiche (10, 'Bonjour')
print(res[0]) # affiche 10
print(res[1]) # affiche Bonjour
44
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
Portée des variables dans les fonctions : règle LEG Output
124
45
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
Portée des variables dans les fonctions : règle LEG
Variables Objets
v1
main v2 1
v3 function
f1
v2 2
f1 v3 function
Output f2 3
f2
124 v3 4
Résumé:
Une variable affectée dans un module devient une variable globale, elle est accessible partout le code qui est
contenu dans le module.
Une variable affectée dans une fonction devient une variable locale à cette fonction, elle n’est pas accessible à
l’extérieure de cette dernière. Par contre elles est accessible par toutes les fonctions incluses englobées dans la
46
fonction.
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
La fonction anonyme
Lambda function
✓ Une fonction anonyme définie avec le mot-clé lambda (n’est pas définie avec le mot clé def)
✓ Syntaxe : lambda arguments: expression (Exemple: lambda x: x * 2)
✓ one-line function
✓ fonction qui n’a pas de nom (identificateur)
✓ Pas de déclaration de retour explicite : La valeur de retour est implicitement renvoyée par l'expression
évaluée.
✓ Portée limitée : Les variables définies à l'extérieur de la fonction lambda peuvent être utilisées à
l'intérieur, mais les variables locales à la fonction lambda ne sont pas accessibles en dehors de celle-ci.
47
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
La fonction anonyme
Lambda function
Exemple 1:
# Définition d'une fonction lambda pour doubler un nombre
double = lambda x: x * 2
# Affichage du résultat
print(resultat)
48
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
La fonction anonyme
Lambda function
Exemple 2:
etudiant = [("Ahmed", 14.24), ("Ali", 16.00), ("Omar", 14.75), # La même chose mais avec une fonction lambda au lieu d'une
("Kamal", 12.25)] normale
# Liste de tuples contenant des noms et des notes
def obtenir_note(tuple_etudiant): etudiant = [("Ahmed", 14.24), ("Ali", 16.00), ("Omar", 14.75),
return tuple_etudiant[1] ("Kamal", 12.25)]
etudiant_triees = sorted(etudiant, key=obtenir_note, # Tri de la liste d'étudiants en fonction de la note en utilisant une
reverse=True) fonction lambda
print(etudiant_triees) etudiant_triees = sorted(etudiant, key=lambda x: x[1],
reverse=1)
Donner une autre version de ce script en utilisant lambda # Affichage de la liste triée
print(etudiant_triees)
49
Chapitre 1: Les fondamentaux du Python
❖ List comprehension
List comprehension en Python est une façon concise de créer des listes en utilisant une
expression itérable.
Objectif:
• Syntaxe concise pour créer des listes à partir d'itérables.
• Permet de filtrer et de transformer les éléments de l'itérable.
Syntaxe:
Mylist = [expression for item in iterable if condition]
Exemple:
['ali', 'omar']
50
Chapitre 1: Les fondamentaux du Python
❖ Nombre aléatoire en Python : random
51