UVT : MASTER BADS
Ce document présente les notions fondamentales sur les fonctions en Python, destinées aux étudiants en informatique ou toute personne souhaitant maîtriser la programmation fonctionnelle en Python. Il couvre la déclaration, l’appel, la portée des variables, l’imbrication des fonctions ainsi que les fonctions lambda.
D'après le document UVT : MASTER BADS
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Programming, Python · PDF · 9 pages · 2020
Afficher l'aperçu du document
Ce document présente les notions fondamentales sur les fonctions en Python, destinées aux étudiants en informatique ou toute personne souhaitant maîtriser la programmation fonctionnelle en Python. Il couvre la déclaration, l’appel, la portée des variables, l’imbrication des fonctions ainsi que les fonctions lambda.
Déclaration d’une fonction
Une fonction en Python se déclare avec le mot-clé def, suivi du nom de la fonction, des paramètres entre parenthèses, et d’un deux-points. Le corps de la fonction est indenté et peut contenir une chaîne de documentation (docstring) ainsi que les instructions à exécuter. La valeur de retour est spécifiée avec return.
def nomDeLaFonction(liste_de_paramètres):
...
bloc d'instructions
...
Si le corps de la fonction est vide, on utilise l’instruction pass pour indiquer un bloc vide.
Il est possible de donner des valeurs par défaut aux paramètres, qui seront utilisées si aucun argument n’est passé lors de l’appel. Les paramètres avec valeurs par défaut doivent être placés après les autres paramètres.
Une fonction peut aussi retourner plusieurs valeurs.
Exemple
# fonction calculant la somme des entiers de i1 à i2 inclus
def sum(i1, i2):
result = 0
for i in range(i1, i2 + 1):
result += i
return result
Appel d’une fonction
Les fonctions peuvent être appelées en passant les arguments selon leur position ou en nommant explicitement les paramètres.
Considérons la fonction suivante :
def petit(a, b):
if a < b:
d = a
else:
d = 0
return d
Appel par position :
print(petit(10, 12)) # Affiche 10
Appel par nom (ordre des arguments interchangeable) :
print(petit(a=10, b=12)) # Affiche 10
print(petit(b=12, a=10)) # Affiche 10
Variables locales et variables globales
Lorsqu’une fonction est appelée, Python crée un espace de noms local pour ses variables. Ces variables locales sont accessibles uniquement à l’intérieur de la fonction et ne peuvent pas être modifiées depuis l’extérieur.
Les variables définies en dehors des fonctions sont globales. Elles sont visibles à l’intérieur des fonctions mais ne peuvent pas être modifiées directement sans déclaration spéciale.
Exemple
def g():
a = 3
print("Dans la fonction g : ", a)
return a
def f(a):
a += 2
print("Dans la fonction f : ", a)
return a
a = 3
print(a) # 3
g() # Dans la fonction g : 3
print(a) # 3
f(a) # Dans la fonction f : 5
print(a) # 3
f(a + 5) # Dans la fonction f : 10
print(a) # 3
a = f(a + 7)
print(a) # 12
On remarque que la variable globale a n’est pas modifiée par les fonctions g et f sauf si on affecte explicitement le résultat à a.
Utilisation de la variable globale avec global
Pour modifier une variable globale à l’intérieur d’une fonction, on utilise l’instruction global qui indique que la variable manipulée est celle définie dans l’espace global.
Imbrication des fonctions
Il est possible de définir une fonction à l’intérieur d’une autre fonction. La fonction interne est alors locale à la fonction englobante et n’est pas accessible depuis l’extérieur.
La fonction lambda
Les fonctions lambda sont des fonctions anonymes très courtes, limitées à une seule expression. Elles sont souvent utilisées pour des calculs mathématiques simples.
- Pas de mot-clé
return: l’expression est automatiquement retournée. - Pas d’instructions complexes (pas de
for,if,while).
Syntaxe :
lambda arg1, arg2, ... : expression_de_retour
Exemples
# Fonction F(x) = x^2
F = lambda x: x**2
print(F(3)) # Affiche 9
# Fonction F(x, y) = x^2 + y
F = lambda x, y: x**2 + y
print(F(3, 5)) # Affiche 14
Glossaire des termes clés
- Fonction : Bloc de code réutilisable qui effectue une tâche spécifique et peut retourner une valeur.
- Paramètre : Variable utilisée dans la définition d’une fonction pour recevoir une valeur lors de l’appel.
- Argument : Valeur passée à une fonction lors de son appel.
- Valeur par défaut : Valeur assignée à un paramètre si aucun argument n’est fourni.
- Variable locale : Variable définie à l’intérieur d’une fonction, accessible uniquement dans cette fonction.
- Variable globale : Variable définie en dehors des fonctions, accessible dans tout le programme.
- Instruction
global: Permet de modifier une variable globale à l’intérieur d’une fonction. - Fonction lambda : Fonction anonyme, courte, limitée à une expression, utilisée pour des calculs simples.
- Docstring : Chaîne de documentation placée en début de fonction pour décrire son comportement.
Points clés à retenir
- Une fonction se déclare avec
def, un nom, des paramètres, et un bloc indenté. - Les paramètres peuvent avoir des valeurs par défaut.
- Les fonctions peuvent retourner une ou plusieurs valeurs avec
return. - Les arguments peuvent être passés par position ou par nom.
- Les variables locales sont isolées dans la fonction, les variables globales sont visibles mais non modifiables sans
global. - On peut imbriquer des fonctions, la fonction interne est locale à la fonction externe.
- Les fonctions lambda sont des fonctions anonymes très courtes, limitées à une expression.
Commentaires
Aucun commentaire pour le moment. Posez la première question.