Tutoriel Python - Fonction
- Qu’est-ce qu’une fonction Python
- Comment définir une fonction Python
- Exemple de fonction Python
- Appeler une fonction en Python
-
La déclaration
return
- Portée et durée de vie des variables Python
- Types de fonctions
Dans cette section, vous apprendrez
- Qu’est-ce qu’une fonction
- Comment créer une fonction
- Types de fonctions
Qu’est-ce qu’une fonction Python
Une fonction est un petit bloc de programme qui contient un certain nombre d’instructions pour effectuer une tâche spécifique. Lorsque vous avez un programme de milliers de lignes exécutant différentes tâches, vous devez diviser le programme en petits modules (blocs), ce qui augmente la lisibilité et réduit la complexité.
Comment définir une fonction Python
Voici la syntaxe pour définir une fonction:
def functionName(arguments):
"""This is the definition of this function"""
statements
return returnParam
- Le mot clé
def
est utilisé pour définir une fonction. - Le nom de la fonction est
functionName
. - Les
arguments
sont optionnels. Les arguments fournissent des valeurs à la fonction pour effectuer des opérations sur. - Le deux-points (
:
) termine l’en-tête de la fonction. """This is the definition of this function"""
est unedocstring
et est optionnel ce qui décrit ce que la fonction fait.statements
fait référence au corps de la fonction.- L’instruction
return
retourne optionnellement le résultat à l’appelant.
Exemple de fonction Python
def language(p):
"""Function to print a message"""
print("Programming language:", p)
Ici une fonction language
est définie qui a un argument p
passant de l’appelant. A l’intérieur de la fonction, il y a une docstring et une instruction print
pour imprimer le message contenant l’argument p
.
Appeler une fonction en Python
Une fonction peut être appelée de n’importe où dans le programme. Une fonction peut être appelée par son nom avec les paramètres requis.
language("Python")
Programming language: Python
La déclaration return
L’instruction return
transfère le contrôle aux codes où la fonction est appelée.
Il indique la fin de la définition de la fonction.
La syntaxe de return
est la suivante:
return [values_to_be_returned]
S’il n’y a pas d’instruction return
dans une fonction, un objet None
sera retourné.
Exemple d’utilisation de l’instruction return
def square(n):
return n * n
print("Square of 4=", square(4))
Square of 4=16
Dans ce code, la fonction est appelée dans une fonction print
et 4 est passé en argument. Dans la fonction, vous avez une expression n*n
qui est évaluée et le résultat est renvoyé à l’endroit où la fonction est appelée (instruction print
).
Portée et durée de vie des variables Python
La portée d’une variable est l’endroit où l’on peut accéder à une variable. Lorsqu’une variable est déclarée à l’intérieur d’une fonction, elle n’est pas accessible à l’extérieur de cette fonction. Ce type de variable est appelé variable locale et n’est accessible qu’à la fonction où elle est déclarée.
La durée de vie d’une variable est le temps pendant lequel une variable existe en mémoire. Lorsqu’une variable est déclarée à l’intérieur d’une fonction, sa mémoire sera libérée lorsque le contrôle sautera hors de la fonction.
Voir l’exemple ci-dessous:
def fun():
a = 12
print("Value of a inside function:", a)
a = 24
fun()
print("Value of a outside function:", a)
Value of a inside function: 12
Value of a outside function: 24
Dans ce code, la variable a
à l’intérieur de la fonction et la variable a
à l’extérieur de la fonction sont des variables différentes.
Si vous essayez d’accéder à des variables déclarées à l’intérieur de fonctions depuis l’extérieur, vous rencontrerez une erreur - NameError name 'x' is not defined
. Mais les variables déclarées à l’extérieur des fonctions ont une portée globale et sont accessibles de l’intérieur.
Types de fonctions
Les fonctions en Python peuvent être classées en deux types:
- Les fonctions intégrées : elles ont une signification prédéfinie et effectuent des tâches spécifiques.
- Les fonctions définies par l’utilisateur : elles sont définies par l’utilisateur et contiennent un nombre quelconque d’instructions pour exécuter des tâches définies par l’utilisateur.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook