0% ont trouvé ce document utile (0 vote)
23 vues4 pages

Fonctions Et Procedures en Python

Le document explique les fonctions et procédures en Python, en détaillant leur définition, la syntaxe, et l'utilisation des paramètres. Il aborde également les valeurs par défaut, les arguments avec étiquettes, les arguments de longueur variable, et les fonctions anonymes. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

q5vtzbc48k
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)
23 vues4 pages

Fonctions Et Procedures en Python

Le document explique les fonctions et procédures en Python, en détaillant leur définition, la syntaxe, et l'utilisation des paramètres. Il aborde également les valeurs par défaut, les arguments avec étiquettes, les arguments de longueur variable, et les fonctions anonymes. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

q5vtzbc48k
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

FONCTIONS ET PROCEDURES EN

PYTHON
Lorsqu’une tâche doit être réalisée plusieurs fois par un programme avec seulement des
paramètres différents, on peut l’isoler au sein d’une fonction. Cette approche est également
intéressante si la personne qui définit la fonction est différente de celle qui l’utilise. Par
exemple, nous avons déjà utilisé la fonction print() qui avait été définie par quelqu’un d’autre.
Nous avons déjà rencontré diverses fonctions prédéfinies : print(),input(), range(), len().

Définition d’une fonction


La syntaxe Python pour la définition d’une fonction est la suivante :
?
1 def nom_fonction(liste de paramètres):
2 bloc d'instructions
Vous pouvez choisir n’importe quel nom pour la fonction que vous créez, à l’exception des
mots-clés réservés du langage, et à la condition de n’utiliser aucun caractère spécial ou accentué
(le caractère souligné « _ » est permis). Comme c’est le cas pour les noms de variables, on
utilise par convention des minuscules, notamment au début du nom (les noms commençant par
une majuscule seront réservés aux classes).
Exemple :
Cette fonction permet d'effacer tous les éléments de la liste. Après cette opération, la liste
devient vide.
?
1
def compteur3():
2
i=0
3 while i < 3:
4 print(i)
5 i=i+1
6
7 #tester la fonction
print("bonjour")
8
compteur3()
9 compteur3()
10
En entrant ces quelques lignes, nous avons défini une fonction très simple qui compte jusqu’à
2.
Notez bien les parenthèses, les deux-points, et l’indentation du bloc d’instructions qui suit la
ligne d’en-tête (c’est ce bloc d’instructions qui constitue le corps de la fonction proprement
dite).
Après la définition de la fonction, on trouve le programme principal qui débute par l’instruction
print("bonjour"). Il y a ensuite au sein du programme principal, l’appel de la fonction grâce à
compteur3(). Nous pouvons maintenant réutiliser cette fonction à plusieurs reprises, autant de
fois que nous le souhaitons. Nous pouvons également l’incorporer dans la définition d’une autre
fonction.
?
1
2 def compteur3():
i=0
3 while i < 3:
4 print(i)
5 i=i+1
6
7 def double_compteur3():
8 compteur3()
compteur3()
9 print("bonjour")
10 double_compteur3()
11
Une première fonction peut donc appeler une deuxième fonction, qui elle-même en appelle une
troisième, etc. Créer une nouvelle fonction offre l’opportunité de donner un nom à tout un
ensemble d’instructions. De cette manière, on peut simplifier le corps principal d’un
programme, en dissimulant un algorithme secondaire complexe sous une commande unique, à
laquelle on peut donner un nom explicite. Une fonction est donc en quelque sorte une nouvelle
instruction personnalisée, qu’il est possible d’ajouter librement à notre langage de
programmation.

Passage des paramètres


Une chose importante à noter est qu'en Python chaque nom de variable est une référence.
Lorsque nous passons une variable à une fonction, une nouvelle référence à l'objet est créée.
Notez bien que :
• Le nom d’une variable que nous passons comme argument n’a rien à voir avec le
nom du paramètre correspondant dans la fonction.
• Ces noms peuvent être identiques si vous le voulez, mais vous devez bien
comprendre qu’ils ne désignent pas la même chose (en dépit du fait qu’ils puissent
contenir une valeur identique).
?
1 def TEST(tab):
2 tab[0]=12
3
4 T=[2, 4, 7, 3]
5 TEST(T)
6 print(T)
# -> [12, 4, 7, 3]
7
Lorsque nous transmettons une référence et que nous modifions la référence reçue en un autre
élément, la connexion entre les paramètres transmis et reçus est rompue.
?
1 def TEST(tab):
2 tab=[1,3,5]
3
4 T=[2, 4, 7, 3]
5 TEST(T)
6 print(T)
# -> [2, 4, 7, 3]
7
?
def Changer(a):
1 a=4
2
3 x=7
4 Changer(x)
print(x)
5 # -> 7
6
7

Valeurs par défaut pour les


paramètres
Dans la définition d’une fonction, il est possible de définir un argument par défaut pour chacun
des paramètres. On obtient ainsi une fonction qui peut être appelée avec une partie seulement
des arguments attendus.
?
1 def somme(a,b=3):
2 print(a+b)
3
4 somme(5)
5 # -> 8
6
7 somme(4,7):
# -> 11
8

Arguments avec étiquettes


Dans la plupart des langages de programmation, les arguments que l’on fournit lors de l’appel
d’une fonction doivent être fournis exactement dans le même ordre que celui des paramètres
qui leur correspondent dans la définition de la fonction.
Python autorise cependant une souplesse beaucoup plus grande. L'idée est de permettre à
l'appelant de spécifier un nom d'argument avec des valeurs afin que l'appelant n'ait pas besoin
de se souvenir de l'ordre des paramètres.
?
1
2 def find(x,tab):
if x in tab:
3 return True
4 return False
5 T=[2, 5, 7, 10, 40]
6 a=7
7 print(find(a,T))
# -> True
8
9 print(find(tab=T,x=a))
10 # -> True
11

Arguments de longueur variable


Nous pouvons avoir un nombre de paramétres variable sous forme d'une liste
?
1
2 def find(*args):
3 for var in args:
print(var)
4
5 if args[1] in args[0]:
6 return True
7
8 return False
9 T=[2, 5, 7, 10, 40]
10 a=7
11
print(find(T,a))
12 # [2, 5, 7, 10, 40]
13 #7
14 # True
15
sous forme d'un dictionnaire
?
1
2 def find(**args):
3 for key, value in kwargs.items():
print("%s == %s" %(key, value))
4
5 if args['x'] in args['tab']:
6 return True
7
8 return False
9 T=[2, 5, 7, 10, 40]
10 a=7
11
print(find(tab=T,x=a))
12 # x=7
13 # tab=[2, 5, 7, 10, 40]
14 # True
15

Fonctions anonymes
En Python, fonction anonyme signifie qu'une fonction est sans nom. Comme nous le savons
déjà, le mot clé def est utilisé pour définir les fonctions normales et le mot clé lambda pour
créer des fonctions anonymes.
?
1 somme = lambda a,b: a+b
2 print(somme(7,2))
3 #9

Vous aimerez peut-être aussi