Computing">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
4 vues54 pages

S1 Python

Le document présente un cours de Programmation Python 2 destiné aux étudiants en Informatique Appliquée, avec un volume horaire de 50 heures. Les objectifs incluent l'approfondissement des concepts avancés de Python, tels que la programmation orientée objet et la gestion des fichiers. Le plan du cours couvre des sujets variés allant des bases du langage aux structures de données et à la gestion des exceptions.

Transféré par

froom4154
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)
4 vues54 pages

S1 Python

Le document présente un cours de Programmation Python 2 destiné aux étudiants en Informatique Appliquée, avec un volume horaire de 50 heures. Les objectifs incluent l'approfondissement des concepts avancés de Python, tels que la programmation orientée objet et la gestion des fichiers. Le plan du cours couvre des sujets variés allant des bases du langage aux structures de données et à la gestion des exceptions.

Transféré par

froom4154
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

Programmation Python 2

TRONC COMMUN NATIONAL INFORMATIQUE APPLIQUÉE

Pr. Mohammed AMEKSA


Enseignant Chercheur à la Faculté des Sciences Semlalia – FSSM

E-mail :
[Link]@[Link]
Présentation

▪ Intitulé :
▼ Programmation Python 2

▪ Niveau :
▼ Tronc commun national Informatique Appliquée

▪ Volume horaire :
▼ 50 (cours, TP/TD, évaluation)

▪ Prérequis :
▼ Langage de programmation Python 1

09.02.26 3
Objectifs pédagogiques

Approfondir la maîtrise du langage Python en explorant des concepts


avancés comme la programmation orientée objet POO, la modularité et la
gestion des fichiers.

Développer des programmes organisés, maintenables et réutilisables selon


les bonnes pratiques de structuration du code.

Initier à la (POO) en Python et à ses principes fondamentaux (encapsulation,


héritage, polymorphisme).

Utiliser efficacement les modules standards de Python pour résoudre des


problèmes concrets.

Renforcer la robustesse des programmes grâce à la gestion des erreurs et


des exceptions.

09.02.26 4
PLAN

Ch1. Introduction et rappels de base

Ch2. La récursivité

Ch3. Gestion des Fichiers

Ch4. Programmation Orienté Objets

Ch5. Programmation modulaire et réutilisable

Ch6. Gestion des exception

Ch7. Autre Aspect avancé du programmation Python


Modalité de cours et d’évaluation

▪ Cours
▼ Les supports de cours vont être partagés avec vous après chaque séance
▼ Quelques exercices vont être données pendant les cours
▼ Des démonstrations pratique

▪ Travaux Pratiques
▼ Chaque TP doit faire l’objet d’un compte rendu à remettre sur la plateforme après
48h d’affectation
▼ Les comptes rendus sur les TP seront évalués

▪ Evaluation : NM = 80% EFS + 20% ETP

▼ NM : Note du module
▼ EFS : Examen de fin de semestre
▼ ETP : Examen des travaux pratiques

2025/2026 6
Ch1. Introduction et Rappels de base

▪ Les bases du langage Python ▪ Fonctions et procédures

▼ Pourquoi Python ? ▼ Motivation (pourquoi les fonctions ? principe DRY)

▼ Types de variables ▼ Syntaxe (définition et appel)

▼ Structures de données ▼ Fonctions et procédures

▼ Structure conditionnelle ▼ Arguments positionnels et arguments par mot-clé

▼ Structure répétitive ▼ Variables locales et variables globales

▼ Interaction avec l’utilisateur ▼ Exemples et exercices

09.02.26 8
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Pourquoi Python ?

Populaire – haut-niveau – à usage général – gratuit et open-source

Le plus populaire depuis 2019

La popularité aide à apprendre


le langage rapidement, puisque
il y aura beaucoup de tutoriels,
blogs, et de gens qui peuvent
répondre aux questions de
l’apprenti dans les forums (tels
que StackOverFlow)

[Link]

09.02.26 9
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Pourquoi Python ?

Populaire – haut-niveau – à usage général – gratuit et open-source

Python est un langage Haut-niveau

La popularité aide à apprendre le langage rapidement,


puisque il y aura beaucoup de tutoriels, blogs, et de gens
qui peuvent répondre aux questions de l’apprenti dans
les forums (tels que StackOverFlow)

09.02.26 10
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Pourquoi Python ?

Populaire – haut-niveau – à usage général – gratuit et open-source

À l’usage général
Peut-importe la spécialité dans laquelle vous allez continuer ➔ Python va vous aider

Peut être utilisé dans plusieurs domaines liés aux MIP

I: informatique
M: maths P: physique
Développement web, desktop,
Algèbre, analyse, Simulation des phénomènes
Intelligence artificielle,
statistiques, etc. physiques, visualisation, etc.
Test des logiciels, etc.

09.02.26 11
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Pourquoi Python ?

Populaire – haut-niveau – à usage général – gratuit et open-source

Open-source
Tout le monde peut voir / consulter le code de Python lui-même

[Link]

Guido Van Rossum

09.02.26 12
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Exécution

Interprété (Python) – Compilé (C, C++) – Un peu des deux (Java)


Compilé VS interprété
Processus de compilation : Processus d'interprétation :
- Le code source est traduit en langage machine ou en un code - Le code source est exécuté ligne par ligne ou déclaration par déclaration par
intermédiaire par un compilateur avant l'exécution. un interpréteur.
- Ce processus aboutit à un fichier exécutable autonome ou un binaire - L'interpréteur traduit et exécute le code à la volée, sans produire de fichier
qui peut être directement exécuté par le matériel de l'ordinateur. exécutable autonome.

Exécution : Exécution
- Le code compilé s'exécute directement sur le matériel de - Le code est exécuté au moment de l'exécution, et les modifications
l'ordinateur, ce qui conduit généralement à une exécution plus rapide. apportées au code peuvent être immédiatement testées sans étape de
- L'étape de compilation se produit avant l'exécution du programme. compilation séparée.

Exemples de langages compilés : Exemples :


- C, C++, Fortran. - Python, JavaScript, PHP.

Avantages : Avantages :
- Généralement une exécution plus rapide car le code est déjà traduit - Cycle de développement plus court car il n'y a pas besoin d'une étape de
en langage machine. compilation distincte.
- Le binaire compilé peut être distribué sans révéler le code source. - Le code peut être facilement modifié et testé pendant le développement.

Inconvénients : Inconvénients :
- Cycle de développement plus long car la compilation est une étape - Généralement une exécution plus lente par rapport aux langages compilés.
distincte. (Pour voir le résultat du code, on doit compilé) - Nécessite la présence de l'interpréteur sur le système cible.
- Des fichiers binaires spécifiques peuvent être nécessaires pour - Peut exposer le code source, car il est souvent distribué dans sa forme
chaque système d'exploitation différent. originale.

09.02.26 13
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Types des variables

Typage dynamique
Quelques fonctions prédéfinies (print, type, input, len, etc.)
int, float, bool, complex, string

Python est un langage dynamiquement typé,


c.à.d., le type des variables est déterminé de manière automatique lors de l’interprétation et l’exécution du
programme. Au contraire des langages statiquement typés tel que le langage C, où la déclaration des
variables consiste à définir le type de variable et sa valeur

09.02.26 14
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Définitions

▪ Tableaux : structure de données qui peut contenir plusieurs


valeurs de même type. Exemple, chaine de caractère.

▪ Listes : comme le tableau, sauf qu’elle peut contenir plusieurs


valeurs de types différents

▪ Set : comme les listes, sauf que l’ordre n’est pas pris en
considération (donc pas d’indexation par position), et surtout, il
contient des valeurs uniques

▪ Tuple : comme les listes, sauf qu’ils sont immutable (plus de


détails dans les slides suivants)

▪ Dictionnaire : clés – valeurs, clés doivent être uniques, l’ordre ici


est aussi pas important (donc pas d’indexation par position)

09.02.26 15
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

List, set, dictionnaire = mutable


▪ Si le changement se fait sur la même variable = mutable
▪ Si le changement résulte en une autre variable = immutable
▪ On peut consulter ceci en utilisant la fonction prédéfinie : id ( )
qui donne un identifiant unique de chaque variable, qui est
l’adresse mémoire

Exemple ici
sur les listes

09.02.26 16
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Tuples et chaines de caractères = immutable


▪ Peut être changé , mais en créant une variable complétement différentes

09.02.26 17
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Attention à l’effet d’Alias


▪ Lorsque c’est mutable

09.02.26 18
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Exemple sur les ensembles et les Dictionnaires

09.02.26 19
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Accès aux valeurs « Accès par indice, par clé, etc »


Liste, tuple, set, et dictionnaire
indexation

09.02.26 20
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Accès aux valeurs « Une seule valeur à la fois » (l’indexation)

Strings, listes, tuples (par indice) Sets (convertir vers liste puis accès par indice ) Les dicts (par clé)

09.02.26 21
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Accès et mutabilité

Accès aux valeurs « Plusieurs valeurs à la fois » (Le Slicing)

Strings, listes, tuples (par indice) Sets (convertir vers liste


a[start : end : step] puis accès comme les listes)

Les dicts (par clé)


On utilise la fonction prédéfinis : map

Si vous avez une fonction, et que vous voulez l’appliquer


sur plusieurs valeurs, c’est ça le rôle de la fonction
prédéfinie map

09.02.26 22
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Méthodes (ou fonctions internes)

Les méthodes pour les strings


Point et tapez sur tabulation pour
afficher les différentes méthodes
de la structure de données

09.02.26 23
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Méthodes (ou fonctions internes)

Les méthodes pour les listes


Point et tapez sur tabulation pour
afficher les différentes méthodes
de la structure de données

09.02.26 24
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Méthodes (ou fonctions internes)

Les méthodes pour les tuples (que deux méthodes simples)


Point et tapez sur tabulation pour
afficher les différentes méthodes
de la structure de données

09.02.26 25
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Méthodes (ou fonctions internes)

Les méthodes pour les sets

09.02.26 26
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structures de données

lists, set, dict, tuple, et string


Méthodes (ou fonctions internes)

Les méthodes pour les dicts

09.02.26 27
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure conditionnelle

if , elif, else

Multi-conditions avec que des ‘if’

Multi-conditions

Condition

09.02.26 28
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure conditionnelle

if , elif, else

Multi-conditions avec que des ‘if’


Multi-conditions avec des ‘if’ et ‘elif’
Problème
La version correcte

09.02.26 29
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

while Vs for

Boucle while Boucle for :

- Utilisée lorsque vous ne savez pas combien - lorsque vous avez une séquence d'éléments sur
d'itérations seront nécessaires à l'avance et que laquelle itérer, telle qu'une liste, un tuple, une
vous souhaitez répéter le bloc de code tant qu'une chaîne de caractères, etc.
condition est vraie.
- Pour la syntaxe, il existe 4 méthodes de faire
- La syntaxe générale est : une boucle for :
while condition: nous allons les voir dans les slides
## block de code à répéter suivants

- La boucle while continue tant que la condition - La boucle for itère sur chaque élément de la
spécifiée est vraie. Si la condition devient fausse, la séquence jusqu'à ce qu'il n'y ait plus
boucle s'arrête. d'éléments.

09.02.26 30
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

La boucle « while »

Lors de l’utilisation de la boucle while,


toujours s’assurer bien que la condition
deviendra « True » dans un moment
spécifique, sinon vous aurez une boucle
infinie

09.02.26 31
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

La boucle « for » : méthode 1

Note:
a inclut, mais b n’est pas inclut

09.02.26 32
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

La boucle « for » : méthode 2

for élément in itérable:


#code à répéter

09.02.26 33
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

La boucle « for » : méthode 3

for i, élément in enumerate(itérable):


#code à répéter

L’indice et l’élément

09.02.26 34
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


Structure répétitive

La boucle while
La boucle for « 4 types »

La boucle « for » : méthode 4


for élément_1, élément_2 in zip(itérable_1, itérable_2):
#code à répéter

09.02.26 35
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


L’interaction avec l’utilisateur

La fonction input( )
La fonction print()

Interaction avec l’utilisateur via : input(‘message’)

Note:
• lorsque j’affiche a, il l’affiche comme chaine de caractère
• Donc, si vous voulez faire des opérations numériques sur a,
vous devez d’abord la convertir en type numérique (par
exemple ‘int’)

09.02.26 36
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


L’interaction avec l’utilisateur

La fonction input( )
La fonction print()

Interaction avec l’utilisateur via : print()

09.02.26 37
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


L’interaction avec l’utilisateur

La fonction input( )
La fonction print()

Interaction avec l’utilisateur via : print()

09.02.26 38
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


L’interaction avec l’utilisateur

La fonction input( )
La fonction print()

Interaction avec l’utilisateur via : print()

09.02.26 39
Ch1. Introduction et Rappels de base

Axe I Les bases du langage de programmation Python


L’interaction avec l’utilisateur

La fonction input( )
La fonction print()

Interaction avec l’utilisateur via : print()

09.02.26 40
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Motivation

Principe « DRY » : Don’t repeat yourself


Copier-coller le même code et changer arr1 par arr2

09.02.26 41
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Motivation

Principe « DRY » : Don’t repeat yourself

Et on l’appelle avec différents paramètres (entrées)


Solution : utiliser les fonctions

ou beaucoup plus mieux

On écrit la fonction une seule fois

09.02.26 42
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Motivation

Principe « DRY » : Don’t repeat yourself

Donc, pourquoi les fonctions ?

• En programmation, les fonctions sont


très utiles pour réaliser plusieurs fois la
même opération au sein d'un
programme. Elles rendent également le
code plus lisible et plus clair en le
fractionnant en blocs logiques.

• L'utilisation de fonctions favorise la


modularité du code, car elles
permettent de diviser un programme
complexe en parties gérables et de
réutiliser des blocs de code dans
différentes parties du programme.

09.02.26 43
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Syntaxe
Exemple

Note :
• On peut faire une fonction qui ne retourne rien (ce qui est appelé en algorithmique : une procédure)

Fonction VS Procédure

• En programmation, les termes "fonction" et "procédure" sont souvent utilisés pour désigner des blocs de code
réutilisables. Cependant, il existe une petite différence entre les deux.

09.02.26 44
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

09.02.26 45
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

09.02.26 46
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

Argument par défaut

09.02.26 47
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

Argument à nom forcé

09.02.26 48
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

Argument à nom forcé

09.02.26 49
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les Arguments

Arguments positionnels – Arguments par mot-clé – Arguments par défaut – et Argument à nom forcé

Argument à nom forcé


Attention lors de l’utilisation de **valeurs avec d’autres arguments !!

09.02.26 50
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les variables locales et globales

Les variables locales et globales sont deux types de variables que l'on peut rencontrer lors de la programmation en
utilisant des fonctions. Comprendre la portée (scope) de ces variables est crucial pour éviter des erreurs
potentielles et écrire un code propre et bien structuré.

Variables Locales :
- Portée : Les variables locales sont définies à l'intérieur d'une fonction et ne sont accessibles qu'à l'intérieur
de cette fonction.
- Durée de vie : Elles existent tant que la fonction s'exécute et sont détruites dès que la fonction se termine.

Variables Globales :
- Portée : Les variables globales sont définies en dehors de toutes les fonctions et sont accessibles partout
dans le programme.
- Durée de vie : Elles existent pendant toute la durée d'exécution du programme.

Principes d'utilisation :
• Les variables locales sont généralement préférées car elles limitent la portée des variables aux parties
spécifiques du code où elles sont nécessaires, évitant ainsi les interférences involontaires.
• Les variables globales peuvent être utiles lorsque vous avez besoin d'une variable qui doit être
partagée entre plusieurs fonctions ou qui doit rester constante tout au long du programme.
• Évitez d'utiliser des variables globales lorsque des variables locales suffisent, car cela peut rendre votre
code moins lisible et
plus sujet à des erreurs difficiles à traquer.

09.02.26 51
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les variables locales et globales

Variable « locale » : Exemple sous Python

09.02.26 52
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les variables locales et globales
Variable « globale » : Exemple sous Python

09.02.26 53
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les variables locales et globales
Variable « globale » : Exemple sous Python
(Attention Erreur Fréquent !!)

09.02.26 54
Ch1. Introduction et Rappels de base

Axe II Fonctions et procédures


Les variables locales et globales
Variable « globale » : Exemple sous Python
(Attention Erreur Fréquent !!)
Solution pour le problème précédent
Utilisation du mot-clé prédéfinit : global

09.02.26 55

Vous aimerez peut-être aussi