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

Cours de Programmation Python : Fonctions et Erreurs

Le document présente un cours de programmation Python pour l'année universitaire 2024-2025, axé sur les fonctions et la gestion des erreurs. Il couvre des concepts clés tels que la définition et l'appel de fonctions, la gestion des exceptions, ainsi que la manipulation de fichiers. Des exemples et des exercices pratiques sont fournis pour illustrer l'application des concepts abordés.

Transféré par

bayrembrik7
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 vues46 pages

Cours de Programmation Python : Fonctions et Erreurs

Le document présente un cours de programmation Python pour l'année universitaire 2024-2025, axé sur les fonctions et la gestion des erreurs. Il couvre des concepts clés tels que la définition et l'appel de fonctions, la gestion des exceptions, ainsi que la manipulation de fichiers. Des exemples et des exercices pratiques sont fournis pour illustrer l'application des concepts abordés.

Transféré par

bayrembrik7
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

République Tunisienne

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Cours: programmation python

Section: L1SI

Dr. JARRAY Chedia

Année Universitaire:2024-2025
Programmation Python

Plan du cours

1 Chapitre 1: Introduction à Python

2 Chapitre 2 : Structures de contrôle

3 Chapitre 3 : Fonctions et structures de données

4 Chapitre 4 : Programmation orientée objet (POO)

5 Chapitre 5 : Manipulation de fichiers et bases de données


Chapitre
IV

Fonctions et Gestion des erreurs


Programmation Python Fonctions et Gestion des erreurs

Plan du chapitre
1 Chapitre 4: Fonctions et Gestion des erreurs
1. Introduction
2. Les fonctions
3. Gestion des erreurs
4. Traitement des fichiers en python
5. Application
Fonctions et Gestion des erreurs 1. Introduction

▪ En Python, une fonction est un groupe d'instructions liées et structurées dont le but
d'effectuer une tâche spécifique lors qu'elle est appelée.

▪ Les fonctions aident à subdiviser le programme en morceaux plus petits et modulaires.

▪ Au fur et à mesure que le programme grandit, les fonctions le rendent plus organisé et
plus facile à gérer.

5/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Une fonction est un bloc de code réutilisable.

▪ Les fonctions peuvent accepter des paramètres : input() pour accepter l'entrée d'un
utilisateur.

▪ Une fonction est définie à l'aide du mot-clé def :

› Syntaxe:

› Exemple : écrire une fonction qui renvoie le double d’un nombre

6/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Appel d'une fonction:

Pour utiliser une fonction, il suffit de taper son nom et insérer les paramètres à l'intérieur
des parenthèses.

› Exemple : Retourner le double de 5 :

7/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Valeurs de retour :

› L'instruction return : Elle termine l'exécution de la fonction et renvoie le résultat à l'appelant.

› Exemple:

› RQ : L’importance de return est qu’il permet de transmettre des données calculées ou traitées
dans une fonction vers l'extérieur, pour une utilisation ultérieure.

8/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Arguments

› Les informations peuvent être transmises aux fonctions en tant qu'arguments.

› Les arguments sont spécifiés après le nom de la fonction, à l'intérieur des parenthèses:

› Exemple :

9/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Arguments arbitraires, *args :

› La syntaxe *args : Permet d’indiquer lors de la définition d’une fonction que notre fonction
peut accepter un nombre variable d’arguments..

› Exemple:

10/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Arguments Keyword

› Vous pouvez également envoyer des arguments avec la syntaxe clé = valeur :

› Exemple:

11/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Arguments de mots clés arbitraires, **kwargs

› La syntaxe **kwargs : Permet également d’indiquer que notre fonction peut recevoir un
nombre variable d’arguments

› Exemple:

12/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Passage d'arguments à une fonction :

› Vous pouvez envoyer n'importe quel type de données d'argument à une fonction (chaîne,
nombre, liste, dictionnaire, etc.), et il sera traité comme le même type de données à l'intérieur
de la fonction.

› Exemple: Passer une liste comme argument

13/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Déclaration pass

› L’instruction pass n’entraînera aucune opération (NOP), ce qui signifie que rien ne se passe
quand pass est exécuté. :

14/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Champ d'application variable

› Concept de scoping en Python :

Le scoping permet de mieux contrôler les éléments du code, réduisant ainsi les risques de
modifications accidentelles ou indésirables.

› Les quatre types de scope (portée) en python :

Locales : Portée à l’intérieur des fonctions.


Englobantes : Portée entre les fonctions imbriquées.
Globales : Portée accessible dans tout le code.
Intégrées : Portée de mots-clés réservés, comme print() et def().

15/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Champ d'application variable

› Ordre de couverture des scopes (LEGB) :

LEGB : Local -> Enclosing (englobant) -> Global -> Built-in (intégré).

› Le but de la portée est de protéger la variable, afin qu'elle ne soit pas modifiée par d'autres
parties du code
16/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ 1. La portée locale fait référence à une variable déclarée à l'intérieur d'une fonction.

› exemple : Exécuter le code ci-dessous

17/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ 2. Champ d'application englobant : La portée englobante fait référence à une fonction à


l'intérieur d'une autre fonction ou à ce que l'on appelle communément une fonction imbriquée.

› exemple : Exécuter le code ci-dessous

18/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ 3. On parle de portée globale lorsqu'une variable est déclarée en dehors d'une fonction. Cela
signifie qu'elle est accessible de n'importe où.

› exemple : Exécuter le code ci-dessous

19/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ 4. La portée intégrée fait référence aux mots-clés réservés que Python utilise pour ses
fonctions intégrées.

Les fonctions à portée intégrée sont accessibles à n'importe quel niveau.

› exemple : print, def, for, in, etc

20/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ Application : Calcul du montant de la taxe pour un client

› Créez une fonction qui calcule la taxe sur une facture en fonction du montant de la facture et
du taux d'imposition. La formule à utiliser est :
taxe = facture * taux_imposition / 100.

a. Déclarez les variables facture et taux_imposition.


b. Implémentez une fonction calculer_taxe(facture, taux) pour effectuer le calcul.
c. Affichez le montant de la taxe.

23/42
Fonctions et Gestion des erreurs 2. Les fonctions

▪ correction:

24/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Erreurs Vs exceptions

› Dans le cas où le code génére des problèmes, le développeur Python devra traiter ces
erreurs pour le corriger.

› Les erreurs peuvent être dues à diverses raisons, et on distingue :

- Erreurs de syntaxe : causées par des erreurs humaines (faute d'orthographe, faute de frappe,
oublis comme les deux-points à la fin des conditions, etc.).

- Exceptions : des erreurs connues qui doivent être gérées par le développeur.

25/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Erreurs

› exemple : Exécuter le code ci-dessous

26/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Exceptions

› Les exceptions se produisent pendant l'exécution du programme et peuvent passer


inaperçues, mais elles doivent être gérées.

› exemple : Exécuter le code ci-dessous

› Python inclut de nombreuses exceptions par défaut pour aider à détecter et gérer des
problèmes dans le code.

27/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Gestion des exceptions avec le bloc try….except

› try : Contient le code à exécuter. Si une erreur se produit, l'exécution passe directement au
bloc except.

› except : Gère les erreurs. Si une exception se produit dans le bloc try, le code dans except
est exécuté pour traiter l'erreur.

› Spécification d'exception : Vous pouvez cibler des exceptions spécifiques (ex :


ZeroDivisionError) ou capturer toutes les erreurs avec Exception.

› Prévention des plantages : Permet d'éviter que le programme ne se termine de manière


inattendue, offrant ainsi un contrôle sur les erreurs avec des messages personnalisés.

28/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Exemple

› Les messages d'erreur par défaut peuvent être dérangeants pour les utilisateurs.

29/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Exemple

› Vous pouvez spécifier des exceptions spécifiques à intercepter en affichant l'exception de la


classe de base (Exception) avec un alias e

30/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Application : Le code ci-dessous présente un problème. Votre tâche dans cet exercice est
d'ajouter du code pour piéger les exceptions et les gérer d'une manière plus conviviale.

A›

B›

C›

31/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Correction:

B›

32/42
Fonctions et Gestion des erreurs 3. Gestion des exceptions

▪ Correction :

›A

›C

33/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Manipulation des fichiers en Python : Python offre des fonctions intégrées pour créer et
manipuler des fichiers, comme l'ouverture, la lecture, l'écriture et la fermeture de fichiers.

› Il existe deux fonctions de gestion de fichiers en Python, open et close.

34/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Fonction open :

› La fonction open est utilisée pour lire, écrire et créer des fichiers.

› Syntaxe : La fonction open accepte deux arguments :


- Le premier est le nom du fichier et/ou l'emplacement du fichier
- Le second argument est le mode.

35/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Fonction open :

› Exemple :

36/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Fonction open :

› Le mode indique quelle action est requise, telle que lire, écrire ou créer.

› Il indique également le format du fichier sorte (texte ou binaire).

37/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Fonction open :

› Modes de gestion de fichiers :

▪r : ouvre un fichier en mode lecture (texte).


▪ rb : ouvre un fichier en mode lecture binaire.
▪ r+ : ouvre un fichier pour la lecture et l’écriture.
▪w : ouvre un fichier en mode écriture (écrase le fichier existant).
▪a : ouvre un fichier pour ajouter/modifier des données.

› Text est le format par défaut.

38/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Fonction close :

› Ferme un fichier ouvert. On définit close () sans arguments

› Exemple :

› Utiliser with open est recommandé pour gérer automatiquement la fermeture des fichiers.

39/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Création des fichiers en python :

› Les fichiers permettent de stocker des données de manière permanente, contrairement à la


mémoire RAM qui est volatile.

› Utilisation de la fonction open en mode écriture pour créer un nouveau fichier .

› Exemple :

40/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Création des fichiers en python :

› Utilisez [Link]() pour ajouter du contenu ligne par ligne dans un fichier et [Link]()
pour insérer plusieurs lignes à partir d'une liste Python, en incluant la syntaxe \n pour ajouter
une nouvelle ligne.

› Exemple :

41/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Création des fichiers en python :

› Le mode w remplace le contenu du fichier


chaque fois que le fichier est ouvert en
mode écriture.

› Le mode a permet d'ajouter du contenu


au fichier sans le remplacer, en l'ajoutant
à la fin du fichier.

› Exemple :

42/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Lecture des fichiers en python :

› Python propose plusieurs fonctions intégrées pour lire des fichiers : read, readline, et
readlines.

- read() : lit tout le fichier en une seule fois.


- readline() : lit une seule ligne à la fois.
- readlines() : lit toutes les lignes du fichier et les renvoie sous forme de liste.

› Il est aussi possible de lire ligne par ligne avec une boucle directement sur le fichier.

› Exemple :

43/42
Fonctions et Gestion des erreurs 4. Manipulation des fichiers en python

▪ Lecture des fichiers en python :

› Soit le [Link] suivant

44/42
Fonctions et Gestion des erreurs 5. Application

▪ Application :

› Votre tache consisite à écrire un programme permettant de choisir un nom d'animal de


compagnie aléatoire à partir d'un fichier texte [Link] :

45/42
Fonctions et Gestion des erreurs 6. Exercice

› Dans cet exercice, vous devez implémenter un programme permettant de gérer une
commande dans un restaurant. Le menu est représenté sous forme d’un dictionnaire contenant
des articles avec leur nom et leur prix.

› Objectifs : Vous allez devoir compléter plusieurs fonctions pour calculer le montant total d'une
commande, y compris la taxe.

1. Affichage du menu et prise de commande :

Le programme affiche un menu contenant plusieurs articles avec leurs prix.

L'utilisateur peut sélectionner trois articles en saisissant leur numéro.

48/42
Fonctions et Gestion des erreurs 6. Exercice

2. Implémentation des fonctions suivantes :

› a. calculate_subtotal(order): Prend en entrée une liste d'articles commandés.


Retourne la somme des prix de tous les articles.

› b. calculate_tax(subtotal): Prend en entrée le sous-total.


Calcule et retourne la taxe (15 % du sous-total), arrondie à deux décimales.

› c. summarize_order(order): Prend en entrée une liste d'articles commandés.


Retourne une liste contenant les noms des articles commandés et le montant total (sous-total +
taxe).

3. Affichage de la commande :
Le programme doit afficher la liste des articles commandés et le total à payer (avec taxe).

49/42
Merci

51/38

Vous aimerez peut-être aussi