5
Plus lue
6
Plus lue
7
Plus lue
14/01/2018
1
LES FONCTIONS DANS LE
LANGAGE PYTHON
2017-2018
© Imene Sghaier
Octobre 2017
ISET Nabeul-Mastère SEM2
INTRODUCTION
 En programmation, on est souvent amené à utiliser plusieurs fois des
groupes d'instructions dans un but très précis: fonctions ou modules.
 Les fonctions permettent de regrouper plusieurs instructions dans un
bloc qui sera appelé grâce à un nom.
 D'ailleurs, vous avez déjà vu que Python offre un nombre de
fonctions prédéfinies compilées et prêtes à l’utilisation : print et
input en font partie par exemple.
 On distingue les fonctions qui se chargent au moment du démarrage
de l’interpréteur comme print(), d’autres qui sont chargées lors de
l’importation de modules comme la fonction sqrt du module math et
copy du module copy.
 Les modules permettent de regrouper plusieurs fonctions selon le
même principe. Toutes les fonctions mathématiques, par exemple,
peuvent être placées dans un module dédié aux mathématiques
 Dans ce chapitre vous aurez une initiation aux fonctions sous
Python. Nous allons nous habituer à regrouper dans des fonctions des
parties de notre code que nous serons amenés à réutiliser
2
Imene Sghaier-Programmation Python
14/01/2018
2
SYNTAXE DE DÉFINITION
 On crée une fonction selon le schéma suivant :
def nom_de_la_fonction(par1, par2, par3, parN):
# Bloc d'instructions
 def, mot-clé qui est l'abréviation de « define
 Le nom de la fonction, qui se nomme exactement comme une
variable
 Les paramètres sont séparés par des virgules et la liste est
encadrée par des parenthèses ouvrante
 Les deux points, encore et toujours, qui clôturent la ligne.
 Les parenthèses sont obligatoires, quand bien même votre
fonction n'attendrait aucun paramètre.
3
Imene Sghaier-Programmation Python
EXEMPLE
4
Imene Sghaier-Programmation Python
14/01/2018
3
VALEURS PAR DÉFAUTS DES PARAMÈTRES
 On peut également préciser une valeur par défaut pour les
paramètres de la fonction.
5
Imene Sghaier-Programmation Python
VALEURS PAR DÉFAUTS DES PARAMÈTRES
def fonc(a=1, b=2, c=3, d=4, e=5):
print("a =", a, "b =", b, "c =", c, "d =", d, "e =", e)
6
Imene Sghaier-Programmation Python
INSTRUCTION RÉSULTAT
fonc() a = 1 b = 2 c = 3 d = 4 e = 5
fonc(4) a = 4 b = 2 c = 3 d = 4 e = 5
fonc(b=8, d=5) a = 1 b = 8 c = 3 d = 5 e = 5
fonc(b=35, c=48, a=4, e=9) a = 4 b = 35 c = 48 d = 4 e = 9
14/01/2018
4
SIGNATURE D'UNE FONCTION
 En Python comme vous avez pu le voir, on ne
précise pas les types des paramètres. Dans ce
langage, la signature d'une fonction est tout
simplement son nom. Cela signifie que vous ne
pouvez définir deux fonctions du même nom (si
vous le faites, l'ancienne définition est écrasée par
la nouvelle).
 Retenez simplement que, comme pour les
variables, un nom de fonction ne renvoie que vers
une fonction unique, on ne peut surcharger de
fonctions en Pythonµ
7
Imene Sghaier-Programmation Python
PARAMÈTRES POSITIONNELS
 Python autorise l’appel des fonctions sans respecter l’ordre des
arguments:
8
Imene Sghaier-Programmation Python
14/01/2018
5
NOMBRES DE PARAMÈTRES VARIABLE
 Python permet de définir une fonction avec un nombre
arbitraire de paramètres. On appelle ce paramètre
généralement args il est toujours précédé par une *:
9
Imene Sghaier-Programmation Python
L'INSTRUCTION RETURN
 les fonctions travaillent en général sur des données et
renvoient le résultat obtenu, suite à un calcul par exemple.
 Prenons un exemple simple : une fonction chargée de mettre
au carré une valeur passée en argument.
def carre(valeur):
return valeur * valeur
 L'instruction return signifie qu'on va renvoyer la valeur,
pour pouvoir la récupérer ensuite et la stocker dans une
variable par exemple.
 Cette instruction arrête le déroulement de la fonction, le code
situé après le return ne s'exécutera pas.
 Exemple
 X=input(‘entrer une chaine SVP’)
10
Imene Sghaier-Programmation Python
14/01/2018
6
L'INSTRUCTION RETURN
11
Imene Sghaier-Programmation Python
L'INSTRUCTION RETURN
Quand une fonction retourne plus d’un
paramètre en retour, le type tuple s’avère
très utile
12
Imene Sghaier-Programmation Python
14/01/2018
7
MODE DE PASSAGE DE PARAMÈTRE
Passage par valeur Passage par référence
13
Imene Sghaier-Programmation Python
LES FONCTIONS ALL ET ANY
 Les fonctions all et any généralement prennent une
liste comme argument et retournent True si tout ou au
moins un (respectivement) de leurs arguments est égal
à True (et False sinon).
 La fonction enumerate peut etre utilisée pour itérer dans les
valeurs et les indices d’une liste simultanément
 Example:
14
Imene Sghaier-Programmation Python
14/01/2018
8
LE MODULE ITERTOOLS
 Le module itertools est une bibliothèque standard de Python
qui contient diverses fonctions
 La fonction count compte infiniment à partir d’une valeur de
départ fourni en argument
 La fonction cycle itère infiniment sur une structure itérable
comme une liste ou une chaîne de caractères.
 La fonction repeat repète un objet ou bien infiniment ou bien
n fois
15
Imene Sghaier-Programmation Python
LE MODULE ITERTOOLS
 Il y a de nombreuses fonctions dans le module itertools qui
opèrent sur des structures itérables comme les fonctions
map et filter.
 Par exemple :
 la fonction takewhile prend des éléments dans une structure
iterable tant que un prédicat est toujours vrai
 La fonction chain combine diverses structures itérables en une
seule longue structure itérables
 La fonction accumulate envoie un total de valeurs dans une
structure iterable
16
Imene Sghaier-Programmation Python
14/01/2018
9
LE MODULE ITERTOOLS
 Il existe également des fonctions combinatoires dans le
module itertools comme product et permutation
 Ces fonctions sont utilisées quand nous voulons accomplir
une tâche avec toutes les combinaisons possibles des
éléments.
Example:
17
Imene Sghaier-Programmation Python
LES FONCTIONS MAP ET FILTER
 Les fonctions map et filter sont deux fonctions
builtins. Elles sont très utilisées sur des listes ou
n’importe quel objet itérable.
 La fonction map map prend en arguments un nom
de fonction f et un objet itérable L et renvoie un
nouveau objet itérable résultant de l’application de
f sur les éléments de L.
 La fonction filter filtre un objet iterable en
supprimant les éléments qui ne vérifient pas un
prédicat donné une fonction qui retourne un
boolean.
 Le résultat doit être convertit en une liste
18
Imene Sghaier-Programmation Python
14/01/2018
10
LES FONCTIONS LAMBDA
 Python nous propose un autre moyen de créer des fonctions,
des fonctions extrêmement courtes car limitées à une seule
instruction.
 Syntaxe
lambda arg1, arg2,… : instruction de retour
 On a bien créé une fonction lambda mais on ne dispose ici
d'aucun moyen pour l'appeler. On peut tout simplement la
stocker dans une variable, par une simple affectation :
19
Imene Sghaier-Programmation Python
LES FONCTIONS LAMBDA
 Les fonctions lambda sont réservées à des situations simples.
Leur définition doit tenir une seule ligne et elles ne peuvent
pas contenir des instructions composées (pas d’affectation,
pas de boucles…)
20
Imene Sghaier-Programmation Python
14/01/2018
11
LES FONCTIONS: LA RÉCURSIVITÉ
 La récursivité est un concept très important en
programmation.
 La partie fondamentale de la récursivité est les fonctions qui
s’auto-appellent. Ceci est utilisé pour résoudre des problèmes
qui peuvent etre divisés en des sous problèmes plus faciles du
meme type.
 Un exemple classique est celui de la fonction factoriel.
 Par exemple
5! (5 factorial) = 5 * 4 * 3 * 2 * 1 (120).
Pour implémenter ceci récursivement on note que
5! = 5 * 4!, 4! = 4 * 3!, 3! = 3 * 2!, and so on.
Donc généralement n! = n * (n-1)!
Avec 1! = 1 => ceci est connu comme le cas de base
21
Imene Sghaier-Programmation Python
LES FONCTIONS: LA RÉCURSIVITÉ
 La récursivité peut aussi etre indirecte. Une fonction peut
appeler une seconde qui elle meme appelle la première et vice
versa. Ceci peut etre appliqué avec n’importe quel nombre de
fonctions.
 Example:
22
Imene Sghaier-Programmation Python
14/01/2018
12
LA FONCTION MAIN
 La plus part des temps le code Python est soit un
module à importer soit un script qui fait quelque
chose
 Parfois, il est bien de créer un fichier qui peut la fois
s’exécuter comme script et être importé comme
module, pour ceci on place le script suivant dans le
code
if __name__ == "__main__"
 Ceci assurera qu’il ne sera pas exécuté si le fichier est
importé.
 Example:
23
Imene Sghaier-Programmation Python

Contenu connexe

PDF
Rapport de projet commande par pid
PDF
Cours_3_0910.pdf
PDF
Les systèmes bielle - manivelle.pdf
PPTX
FormationPython2019.pptx
PDF
MALLAT_BOURUIS
PPT
Afficheur 7 segments
PDF
Conception d’un code de calcul pour le dimensionnement des stations d’épurati...
PDF
Cablage de demarrage www.ofppt-elec.blogspot.com/
Rapport de projet commande par pid
Cours_3_0910.pdf
Les systèmes bielle - manivelle.pdf
FormationPython2019.pptx
MALLAT_BOURUIS
Afficheur 7 segments
Conception d’un code de calcul pour le dimensionnement des stations d’épurati...
Cablage de demarrage www.ofppt-elec.blogspot.com/

Tendances (20)

PDF
Systèmes Automatisés
PDF
Alternateur synchrone
PDF
H0 constitution-circuit-hydraulique
PDF
شرح مهم حول Asservissement et régulation
DOCX
Systèmes de logiques séquentielles-Bascules
PDF
SORTING SYSTEM (ITS PLC MHJ EDITION) PROGRAMMING
PDF
Rapport de Stage -Finale.pdf
PPSX
Régulation de niveau en boucle fermée pour différents réglages PID, exercice ...
PPTX
Cours-irrigation_et_drainage_cours1.pptx
PDF
Livre parascolaire français-3 ème année primaire
PDF
213 les capteurs tor
PDF
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
PDF
Dvp chaine mesure gsm
PDF
Electronique de puissance cours complet www.cours-online.com
PDF
TRI Automatique.pdf
PPT
Supervision industrielle www.automate pro.blogspot.com
PDF
Rapport Stage ingénieur
DOC
systeme de numeration et codes
PDF
Moteur asynchrone
PPT
Circuits Chp.2 MéThodes D
Systèmes Automatisés
Alternateur synchrone
H0 constitution-circuit-hydraulique
شرح مهم حول Asservissement et régulation
Systèmes de logiques séquentielles-Bascules
SORTING SYSTEM (ITS PLC MHJ EDITION) PROGRAMMING
Rapport de Stage -Finale.pdf
Régulation de niveau en boucle fermée pour différents réglages PID, exercice ...
Cours-irrigation_et_drainage_cours1.pptx
Livre parascolaire français-3 ème année primaire
213 les capteurs tor
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
Dvp chaine mesure gsm
Electronique de puissance cours complet www.cours-online.com
TRI Automatique.pdf
Supervision industrielle www.automate pro.blogspot.com
Rapport Stage ingénieur
systeme de numeration et codes
Moteur asynchrone
Circuits Chp.2 MéThodes D
Publicité

Similaire à Python chapitre 4.pdf (20)

PPT
COURS_PYTHON_22.ppt
PDF
3 - programmation modulaire avec python.pdf
PPTX
Introduction au langage python (Notion de base)
PPTX
Introduction au langage python notion de base
PPTX
Theme 6
PDF
Chap3 programmation modulaire en python
PPTX
cours détaillé python premier annee OFPPT.pptx
PPTX
Theme 7
PDF
Développement informatique : Programmation fonctionnelle, décorateur et génér...
PDF
La programmation modulaire en Python
PDF
4-Fonctions et Procedures Fonctions 2021.pdf
PPTX
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
PDF
Python avancé : Ensemble, dictionnaire et base de données
PDF
01 - Introduction à Python chaines de caractères.pdf
PPSX
Présentation sur les fonctions-informatique
PDF
Cours Python (initialisation à la programmation)
PPTX
Introduction à Python
PDF
La programmation structurelle : Les Notions de Base en Python.pdf
PPTX
Chapitre1: Langage Python
COURS_PYTHON_22.ppt
3 - programmation modulaire avec python.pdf
Introduction au langage python (Notion de base)
Introduction au langage python notion de base
Theme 6
Chap3 programmation modulaire en python
cours détaillé python premier annee OFPPT.pptx
Theme 7
Développement informatique : Programmation fonctionnelle, décorateur et génér...
La programmation modulaire en Python
4-Fonctions et Procedures Fonctions 2021.pdf
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Python avancé : Ensemble, dictionnaire et base de données
01 - Introduction à Python chaines de caractères.pdf
Présentation sur les fonctions-informatique
Cours Python (initialisation à la programmation)
Introduction à Python
La programmation structurelle : Les Notions de Base en Python.pdf
Chapitre1: Langage Python
Publicité

Plus de Institut Supérieur des Etudes Technologiques de Nabeul (20)

PDF
chap 3 Technologies de communication.pdf
PPTX
chap 7 POO Java Les Exceptions.pptx
chap 3 Technologies de communication.pdf
chap 7 POO Java Les Exceptions.pptx

Dernier (9)

PDF
Apprentissage supervisé : La Classification.pdf
PPTX
chap 2 EA pptx.pptx modele relationnele de d
PDF
UX DESIGN presentation canva plan et slides
PDF
Classification en apprentissage supervisé : Les Arbres de Décision
PDF
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
PDF
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
PPTX
Cours_IoT.pptx k
PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PPTX
template SR.pptx pour les présentations de soutenances
Apprentissage supervisé : La Classification.pdf
chap 2 EA pptx.pptx modele relationnele de d
UX DESIGN presentation canva plan et slides
Classification en apprentissage supervisé : Les Arbres de Décision
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
Cours_IoT.pptx k
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
template SR.pptx pour les présentations de soutenances

Python chapitre 4.pdf

  • 1. 14/01/2018 1 LES FONCTIONS DANS LE LANGAGE PYTHON 2017-2018 © Imene Sghaier Octobre 2017 ISET Nabeul-Mastère SEM2 INTRODUCTION  En programmation, on est souvent amené à utiliser plusieurs fois des groupes d'instructions dans un but très précis: fonctions ou modules.  Les fonctions permettent de regrouper plusieurs instructions dans un bloc qui sera appelé grâce à un nom.  D'ailleurs, vous avez déjà vu que Python offre un nombre de fonctions prédéfinies compilées et prêtes à l’utilisation : print et input en font partie par exemple.  On distingue les fonctions qui se chargent au moment du démarrage de l’interpréteur comme print(), d’autres qui sont chargées lors de l’importation de modules comme la fonction sqrt du module math et copy du module copy.  Les modules permettent de regrouper plusieurs fonctions selon le même principe. Toutes les fonctions mathématiques, par exemple, peuvent être placées dans un module dédié aux mathématiques  Dans ce chapitre vous aurez une initiation aux fonctions sous Python. Nous allons nous habituer à regrouper dans des fonctions des parties de notre code que nous serons amenés à réutiliser 2 Imene Sghaier-Programmation Python
  • 2. 14/01/2018 2 SYNTAXE DE DÉFINITION  On crée une fonction selon le schéma suivant : def nom_de_la_fonction(par1, par2, par3, parN): # Bloc d'instructions  def, mot-clé qui est l'abréviation de « define  Le nom de la fonction, qui se nomme exactement comme une variable  Les paramètres sont séparés par des virgules et la liste est encadrée par des parenthèses ouvrante  Les deux points, encore et toujours, qui clôturent la ligne.  Les parenthèses sont obligatoires, quand bien même votre fonction n'attendrait aucun paramètre. 3 Imene Sghaier-Programmation Python EXEMPLE 4 Imene Sghaier-Programmation Python
  • 3. 14/01/2018 3 VALEURS PAR DÉFAUTS DES PARAMÈTRES  On peut également préciser une valeur par défaut pour les paramètres de la fonction. 5 Imene Sghaier-Programmation Python VALEURS PAR DÉFAUTS DES PARAMÈTRES def fonc(a=1, b=2, c=3, d=4, e=5): print("a =", a, "b =", b, "c =", c, "d =", d, "e =", e) 6 Imene Sghaier-Programmation Python INSTRUCTION RÉSULTAT fonc() a = 1 b = 2 c = 3 d = 4 e = 5 fonc(4) a = 4 b = 2 c = 3 d = 4 e = 5 fonc(b=8, d=5) a = 1 b = 8 c = 3 d = 5 e = 5 fonc(b=35, c=48, a=4, e=9) a = 4 b = 35 c = 48 d = 4 e = 9
  • 4. 14/01/2018 4 SIGNATURE D'UNE FONCTION  En Python comme vous avez pu le voir, on ne précise pas les types des paramètres. Dans ce langage, la signature d'une fonction est tout simplement son nom. Cela signifie que vous ne pouvez définir deux fonctions du même nom (si vous le faites, l'ancienne définition est écrasée par la nouvelle).  Retenez simplement que, comme pour les variables, un nom de fonction ne renvoie que vers une fonction unique, on ne peut surcharger de fonctions en Pythonµ 7 Imene Sghaier-Programmation Python PARAMÈTRES POSITIONNELS  Python autorise l’appel des fonctions sans respecter l’ordre des arguments: 8 Imene Sghaier-Programmation Python
  • 5. 14/01/2018 5 NOMBRES DE PARAMÈTRES VARIABLE  Python permet de définir une fonction avec un nombre arbitraire de paramètres. On appelle ce paramètre généralement args il est toujours précédé par une *: 9 Imene Sghaier-Programmation Python L'INSTRUCTION RETURN  les fonctions travaillent en général sur des données et renvoient le résultat obtenu, suite à un calcul par exemple.  Prenons un exemple simple : une fonction chargée de mettre au carré une valeur passée en argument. def carre(valeur): return valeur * valeur  L'instruction return signifie qu'on va renvoyer la valeur, pour pouvoir la récupérer ensuite et la stocker dans une variable par exemple.  Cette instruction arrête le déroulement de la fonction, le code situé après le return ne s'exécutera pas.  Exemple  X=input(‘entrer une chaine SVP’) 10 Imene Sghaier-Programmation Python
  • 6. 14/01/2018 6 L'INSTRUCTION RETURN 11 Imene Sghaier-Programmation Python L'INSTRUCTION RETURN Quand une fonction retourne plus d’un paramètre en retour, le type tuple s’avère très utile 12 Imene Sghaier-Programmation Python
  • 7. 14/01/2018 7 MODE DE PASSAGE DE PARAMÈTRE Passage par valeur Passage par référence 13 Imene Sghaier-Programmation Python LES FONCTIONS ALL ET ANY  Les fonctions all et any généralement prennent une liste comme argument et retournent True si tout ou au moins un (respectivement) de leurs arguments est égal à True (et False sinon).  La fonction enumerate peut etre utilisée pour itérer dans les valeurs et les indices d’une liste simultanément  Example: 14 Imene Sghaier-Programmation Python
  • 8. 14/01/2018 8 LE MODULE ITERTOOLS  Le module itertools est une bibliothèque standard de Python qui contient diverses fonctions  La fonction count compte infiniment à partir d’une valeur de départ fourni en argument  La fonction cycle itère infiniment sur une structure itérable comme une liste ou une chaîne de caractères.  La fonction repeat repète un objet ou bien infiniment ou bien n fois 15 Imene Sghaier-Programmation Python LE MODULE ITERTOOLS  Il y a de nombreuses fonctions dans le module itertools qui opèrent sur des structures itérables comme les fonctions map et filter.  Par exemple :  la fonction takewhile prend des éléments dans une structure iterable tant que un prédicat est toujours vrai  La fonction chain combine diverses structures itérables en une seule longue structure itérables  La fonction accumulate envoie un total de valeurs dans une structure iterable 16 Imene Sghaier-Programmation Python
  • 9. 14/01/2018 9 LE MODULE ITERTOOLS  Il existe également des fonctions combinatoires dans le module itertools comme product et permutation  Ces fonctions sont utilisées quand nous voulons accomplir une tâche avec toutes les combinaisons possibles des éléments. Example: 17 Imene Sghaier-Programmation Python LES FONCTIONS MAP ET FILTER  Les fonctions map et filter sont deux fonctions builtins. Elles sont très utilisées sur des listes ou n’importe quel objet itérable.  La fonction map map prend en arguments un nom de fonction f et un objet itérable L et renvoie un nouveau objet itérable résultant de l’application de f sur les éléments de L.  La fonction filter filtre un objet iterable en supprimant les éléments qui ne vérifient pas un prédicat donné une fonction qui retourne un boolean.  Le résultat doit être convertit en une liste 18 Imene Sghaier-Programmation Python
  • 10. 14/01/2018 10 LES FONCTIONS LAMBDA  Python nous propose un autre moyen de créer des fonctions, des fonctions extrêmement courtes car limitées à une seule instruction.  Syntaxe lambda arg1, arg2,… : instruction de retour  On a bien créé une fonction lambda mais on ne dispose ici d'aucun moyen pour l'appeler. On peut tout simplement la stocker dans une variable, par une simple affectation : 19 Imene Sghaier-Programmation Python LES FONCTIONS LAMBDA  Les fonctions lambda sont réservées à des situations simples. Leur définition doit tenir une seule ligne et elles ne peuvent pas contenir des instructions composées (pas d’affectation, pas de boucles…) 20 Imene Sghaier-Programmation Python
  • 11. 14/01/2018 11 LES FONCTIONS: LA RÉCURSIVITÉ  La récursivité est un concept très important en programmation.  La partie fondamentale de la récursivité est les fonctions qui s’auto-appellent. Ceci est utilisé pour résoudre des problèmes qui peuvent etre divisés en des sous problèmes plus faciles du meme type.  Un exemple classique est celui de la fonction factoriel.  Par exemple 5! (5 factorial) = 5 * 4 * 3 * 2 * 1 (120). Pour implémenter ceci récursivement on note que 5! = 5 * 4!, 4! = 4 * 3!, 3! = 3 * 2!, and so on. Donc généralement n! = n * (n-1)! Avec 1! = 1 => ceci est connu comme le cas de base 21 Imene Sghaier-Programmation Python LES FONCTIONS: LA RÉCURSIVITÉ  La récursivité peut aussi etre indirecte. Une fonction peut appeler une seconde qui elle meme appelle la première et vice versa. Ceci peut etre appliqué avec n’importe quel nombre de fonctions.  Example: 22 Imene Sghaier-Programmation Python
  • 12. 14/01/2018 12 LA FONCTION MAIN  La plus part des temps le code Python est soit un module à importer soit un script qui fait quelque chose  Parfois, il est bien de créer un fichier qui peut la fois s’exécuter comme script et être importé comme module, pour ceci on place le script suivant dans le code if __name__ == "__main__"  Ceci assurera qu’il ne sera pas exécuté si le fichier est importé.  Example: 23 Imene Sghaier-Programmation Python