[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
10 vues52 pages

Fondamentaux de la programmation Python

Le module 'Programmation Python: Fondamentaux et POO' vise à maîtriser les concepts de base de Python, incluant la programmation procédurale et orientée objet, ainsi que l'interaction avec des bases de données et le développement web avec Django. Les étudiants participeront à des cours, travaux pratiques, exposés et mini-projets, avec une évaluation basée sur un examen final et un contrôle continu. Le contenu couvre les fondamentaux du langage, la gestion des fichiers, l'automatisation des tâches, et les structures de données.

Transféré par

chatzack85
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues52 pages

Fondamentaux de la programmation Python

Le module 'Programmation Python: Fondamentaux et POO' vise à maîtriser les concepts de base de Python, incluant la programmation procédurale et orientée objet, ainsi que l'interaction avec des bases de données et le développement web avec Django. Les étudiants participeront à des cours, travaux pratiques, exposés et mini-projets, avec une évaluation basée sur un examen final et un contrôle continu. Le contenu couvre les fondamentaux du langage, la gestion des fichiers, l'automatisation des tâches, et les structures de données.

Transféré par

chatzack85
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Sultan Moulay Slimane

Ecole Supérieure de Technologie - Fkih Ben Salah

Module
Programmation Python: Fondamentaux et POO

Filières : IDS/GI, Semestre 3

Pr. Rachid AIT DAOUD Année Universitaire 2025-2026


Descriptif du module

❖ Intitulé du module: Programmation Python: Fondamentaux et POO.

❖ Objectifs généraux du module:


✓ Maîtriser les concepts fondamentaux de la programmation Python

✓ Développer des compétences en programmation procédurale et orientée objet

✓ Acquérir la capacité à créer des applications Python fonctionnelles

✓ Savoir utiliser Python pour la gestion des fichiers, l'automatisation et le développement web

✓ Interagir avec des bases de données via Python

✓ Comprendre l'architecture du framework Django


2
Descriptif du module
❖ Enseignements et/ou activités :
❖ Cours, Tutoriels
❖ Travaux pratiques
❖ Exposés
❖ Mini-projets
❖ évaluations

❖ Mode d’évaluation:

Note module : 60% Examen final + 40% CC

3
Plan
1
2

Les fondamentaux du langage Python POO en Python

• Introduction • Classe & instance


• Les types natifs • Les attributs de classe
• Les variables et opérateurs • Les méthodes
• Les types des objets et la • La fonction dir()
conversion • L’attribut spécial __dict__
• Les structures conditionnelles • L’héritage
• Les structures répétitives • Polymorphisme
• Les structures de données (listes,
tuples, dictionnaires,…)
• Les fonctions
• Modules et packages

TPs + mini projets 4


Plan
3 4

Gestion des fichiers et Le framework Django


automatisation des tâches

• Lire et écrire dans un • Présentation du


fichier framework
• Modules pour la gestion • Architecture MVT
des fichiers et • Installation et
répertoires. Configuration
• Automatisation des • Déploiement
tâches • Bonnes Pratiques et
Sécurité

TPs + mini projets 5


Chapitre 1: Les fondamentaux du Python

❖Introduction ❖Le type des objets et la


• C’est quoi Python conversion
• Les environnements de développement • La fonction type()
❖Les types natifs • Conversion de types
• Les chaines de caractères ❖Les structures de contrôles
• Les nombres • if, elif, else
• Les booléens • La boucle for et while
❖Les variables ❖Les structures de données
• Des objets et des noms • Listes, Tuples, Dictionnnaires
• Types d’affectations
• Ecriture scientifique ❖Les fonctions
• Les opérations ❖Modules et packages
Chapitre 1: Les fondamentaux du Python
❖ Introduction
❑ C’est quoi Python

- 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

7
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)

- Chaque éditeur a ses avantages et inconvénients


• Sublime Text: Gratuit… mais ce n’est pas vraiment
• VS Code: Entièrement gratuit + permet d’ajouter des plug-in + basculer vers les différentes version de Python facilement.
• PyCharm: Environnement de développement, il est plus centré autour de projet, il est un peu plus lourd, il est fait pour python.
• Jupyter Notebook: "blocs notes de calcul" Un standard pour les Data Scientists. Avan: gratuit, open source, programmation
collaboratif, inconv: absence de fonctionnalités propre aux environnements de développement (pas d’option de débogage
interactif, de complétion de code ou de gestion de module)
• Anaconda: Distribution de logiciels qui comprend Python ainsi que de nombreuses bibliothèques et outils supplémentaires. Il
est conçu pour faciliter l'installation et la gestion de packages Python, en particulier pour les applications liées à la science des
données et à l'apprentissage automatique ML. 8
Chapitre 1: Les fondamentaux du Python
❖ Les types natifs

- Les chaines de caractères - Les types séquentiels (listes, tuples)


Ex: "LP BIG-DATA" - Les types d’ensembles (set, frozenset)
- Les nombres - Les types de correspondances
Ex: entiers, floats (dictionnaires)
- Les booléens
Ex: True(1), False(0)

9
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

Qu’est ce qu’il se passe quand on écrit les instructions suivantes?


annee = 2022 annee 2022
annee2 = annee
annee2
Un seul objet dans la mémoire
id(annee) = id(annee2) 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

Qu’est ce qu’il se passe quand on écrit les instructions suivantes?


annee = 2022 annee 2022
annee2 = annee
annee2 2023
annee2 = 2023

11
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

Qu’est ce qu’il se passe quand on écrit les instructions suivantes?


annee = 2022 annee 2022
annee2 = annee
annee2 2023
annee2 = 2023
deux objets dans la mémoire
12
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

Qu’est ce qu’il se passe quand on écrit les instructions suivantes?


annee = 2022 annee 2022
annee2 = annee
annee2 2023
annee2 = 2023
annee = 2024 2024
13
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

Qu’est ce qu’il se passe quand on écrit les instructions suivantes?


annee = 2022 Le nombre 2022 n’est plus
annee2 = annee
annee 2022 associé maintenant à aucun

annee2 = 2023
annee2 2023 nom, alors python il va se
débarrasser de cet objet
annee = 2024 annee3 2024 'Garbage Collector'

annee3 = 2024 + 0 print(id(annee)) == print(id(annee3)) 14


Chapitre 1: Les fondamentaux du Python
❖ Les variables
❑ Types d’affectations

En Python il existe différentes types d’affectations:

❖ Affectations simples nom = objet a=7


❖ Affectations parallèles nom1, nom2 = objet1, objet2 a,b = 7,12
❖ Affectations multiples nom1=nom2=nom3= objet a=b=c = 17

15
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 :

16
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)

17
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 :

• 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.

18
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)
19
Chapitre 1: Les fondamentaux du Python
❖ Type et conversion

• En Python, il n’est pas nécessaire de


déclarer le type d’une variable avant de
lui affecter une valeur, mais ATTENTION à
ne pas utiliser une variable à laquelle on
a affecté aucune valeur.

• Fonction type(): Pour connaitre le type


d’un objet.
• int(), float(), str(): Pour passer d’un type
à un autre.

20
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)

21
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")

22
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 : ")

• ATTENTION : la variable saisie x est toujours de type str. Pour


la convertir en nombre, il faut utiliser la fonction int()ou la
fonction float() :

x = int(input("saisir la valeur de x : "))

23
Chapitre 1: Les fondamentaux du Python
Exemple

24
Chapitre 1: Les fondamentaux du Python
❖ Les structures conditionnelles
• Syntaxe : • Exemple :
if test:
indentation
instruction1
instruction2

else:
instruction1
indentation
instruction2

ATTENTION : les indentations et retours à la


ligne sont importants en Python

25
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)

26
Chapitre 1: Les fondamentaux du Python
❖ Boucle for en Python

• Exemples :
• Syntaxe :
for i in range(a,b):
instruction(s)

→ La fonction range permet de créer une


séquence de nombres

Exécute les instructions de la boucle pour les valeurs entières i


suivantes :
a,a+1,a+2,… jusqu’à la valeur b-1

ATTENTION AUX INDENTATIONS


(voir les deux exemples ci-contre)

27
Chapitre 1: Les fondamentaux du Python
❖ Boucle for en Python

→ Itérer sur une chaine de caractère : • Exemples :


P
mot = "Python" y
t
for i in mot: h
print(i) o
n

→ Boucles imbriquées
00
for i in range(3): 01
for j in range(2): 10
11
print(i, j) 20
21

28
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)

Q1 : Combien de fois la boucle externe sera exécutée ? Q1 : 2 fois


Q2 : Même question pour la boucle interne Q2 : 6 fois
Q3 : Quelle est la valeur de n après l’exécution de ces deux boucles imbriquées ? Q3 : 128

29
Chapitre 1: Les fondamentaux du Python
❖ Boucle while en Python

• Syntaxe : • Exemple :

while condition:
instruction(s)

Exécute les instructions de la


boucle tant que condition est vraie

30
Chapitre 1: Les fondamentaux du Python
❖ Boucle while en Python

Mots-clés utiles dans les boucles

• break: Permet de sortir prématurément d'une boucle.


• continue: Passe à l'itération suivante sans exécuter le reste du code du corps de la boucle.

for i in range(10): for nombre in range (1,9):


if i == 5: if nombre % 2 != 0: # Si le nombre n'est pas pair
break continue
print(i) print(nombre)

0 2
1 4
2 6
3 8
4
31
Chapitre 1: Les fondamentaux du Python
❖Les structures de données

1. Les listes et les tuples

• Les listes et les tuples sont des structures de données qui permettent de former des
séquences.

• Une séquence est un ensemble d’éléments qui sont ordonnés.

• On dit que chaque élément il a un indice (ou index) qui indique sa position dans la
structure.

• Python autorise la construction de liste/tuple contenant


des valeurs de types différents (par exemple entier et chaîne de caractères)

• Pour retourner la taille d’une structure de données on utilise la fonction len().

32
Chapitre 1: Les fondamentaux du Python
❖ Les listes

33
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

34
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

35
Chapitre 1: Les fondamentaux du Python
❖ Opération sur les listes

36
Chapitre 1: Les fondamentaux du Python
❖ Opération sur les listes

37
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])

38
Chapitre 1: Les fondamentaux du Python
❖ Les tuples

Importance d’utilisation

Les tuples sont utiles quand :

✓ Vous voulez garantir que vos données ne seront pas modifiées.

✓ Vous retournez plusieurs valeurs d'une fonction.

✓ Vous voulez optimiser les performances pour des données fixes

✓ 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.

39
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 initialiser un dictionnaire , on utile la syntaxe suivante:


>>>mondictionnaire = {} ou mondictionnaire = dict()

Pour ajouter des valeurs dans un dictionnaire, il faut indiquer une clé ainsi qu'une valeur:

40
Chapitre 1: Les fondamentaux du Python
❖ Les dictionnaires

Pour récupérer une valeur dans un dictionnaire

Pour récupérer une valeur dans un dictionnaire avec la méthode get

Pour supprimer une entrée dans un dictionnaire

41
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())

42
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 **
>>> [Link](dictionnaire2) OR merged_dict = {**dict1, **dict2}

{'a': 1, 'b': 3, 'c': 4}


43
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions

16
20

Variable locale # variable globale

16
16

44
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

45
Chapitre 1: Les fondamentaux du Python
❖ Les fonctions
Portée des variables dans les fonctions : règle LEG Output

124

L: fonction Locale, E: fonction Englobante, G: fonction Globale


Résumé:
→ Lorsqu’on référence une variable, on cherche d’abord localement, puis dans les fonctions englobante, puis
globalement si on trouve pas, il y a une exception (Erreur).

46
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
47
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.

48
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

# Utilisation de la fonction lambda pour doubler le nombre 5


resultat = double(5)

# Affichage du résultat
print(resultat)

49
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)
50
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:

l = [i**2 for item in range(1,6)] l= [1, 4, 9, 16, 25]

nombres_p = [x for x in range(1, 11) if x % 2 == 0] nombres_p = [2,4,6,8,10]

['ali', 'omar']
51
Chapitre 1: Les fondamentaux du Python
❖ Nombre aléatoire en Python : random

52

Vous aimerez peut-être aussi