Fonctions Python
Fonctions Python
Dans cet article, vous découvrirez les fonctions, ce qu'est une fonction, la syntaxe, les composants et les types de fonctions. Vous apprendrez également à créer une fonction en Python.
Vidéo :Introduction aux fonctions Python
Qu'est-ce qu'une fonction en Python ?
En Python, une fonction est un groupe d'instructions liées qui exécutent une tâche spécifique.
Les fonctions aident à diviser notre programme en morceaux plus petits et modulaires. Au fur et à mesure que notre programme prend de l'ampleur, les fonctions le rendent plus organisé et plus facile à gérer.
De plus, cela évite les répétitions et rend le code réutilisable.
Syntaxe de la fonction
def function_name(parameters): """docstring""" statement(s)
Ci-dessus est illustrée une définition de fonction composée des composants suivants.
- Mot clé
def
qui marque le début de l'en-tête de la fonction. - Un nom de fonction pour identifier de manière unique la fonction. La dénomination des fonctions suit les mêmes règles d'écriture des identifiants en Python.
- Paramètres (arguments) par lesquels nous transmettons des valeurs à une fonction. Ils sont facultatifs.
- Un deux-points (:) pour marquer la fin de l'en-tête de la fonction.
- Chaîne de documentation facultative (docstring) pour décrire ce que fait la fonction.
- Une ou plusieurs instructions Python valides qui composent le corps de la fonction. Les instructions doivent avoir le même niveau d'indentation (généralement 4 espaces).
- Un
return
facultatif pour renvoyer une valeur de la fonction.
Exemple de fonction
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
Comment appeler une fonction en python ?
Une fois que nous avons défini une fonction, nous pouvons l'appeler à partir d'une autre fonction, d'un programme ou même de l'invite Python. Pour appeler une fonction, nous tapons simplement le nom de la fonction avec les paramètres appropriés.
>>> greet('Paul')
Hello, Paul. Good morning!
Essayez d'exécuter le code ci-dessus dans le programme Python avec la définition de la fonction pour voir le résultat.
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
greet('Paul')
Remarque :En python, la définition de la fonction doit toujours être présente avant l'appel de la fonction. Sinon, nous aurons une erreur. Par exemple,
# function call
greet('Paul')
# function definition
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
# Erro: name 'greet' is not defined
Docstrings
La première chaîne après l'en-tête de la fonction est appelée docstring et est l'abréviation de chaîne de documentation. Il est brièvement utilisé pour expliquer ce que fait une fonction.
Bien que facultative, la documentation est une bonne pratique de programmation. À moins que vous ne vous souveniez de ce que vous avez mangé au dîner la semaine dernière, documentez toujours votre code.
Dans l'exemple ci-dessus, nous avons une docstring juste en dessous de l'en-tête de la fonction. Nous utilisons généralement des guillemets triples afin que docstring puisse s'étendre sur plusieurs lignes. Cette chaîne est disponible pour nous en tant que __doc__
attribut de la fonction.
Par exemple :
Essayez d'exécuter ce qui suit dans le shell Python pour voir le résultat.
>>> print(greet.__doc__)
This function greets to
the person passed in as
a parameter
Pour en savoir plus sur les docstrings en Python, consultez Python Docstrings.
L'instruction de retour
Le return
est utilisée pour quitter une fonction et revenir à l'endroit d'où elle a été appelée.
Syntaxe du retour
return [expression_list]
Cette instruction peut contenir une expression qui est évaluée et la valeur est renvoyée. S'il n'y a pas d'expression dans la déclaration ou le return
l'instruction elle-même n'est pas présente dans une fonction, alors la fonction renverra le None
objet.
Par exemple :
>>> print(greet("May"))
Hello, May. Good morning!
None
Ici, None
est la valeur renvoyée depuis greet()
imprime directement le nom et non return
déclaration est utilisée.
Exemple de retour
def absolute_value(num):
"""This function returns the absolute
value of the entered number"""
if num >= 0:
return num
else:
return -num
print(absolute_value(2))
print(absolute_value(-4))
Sortie
2 4
Comment fonctionne la fonction en Python ?
Portée et durée de vie des variables
La portée d'une variable est la partie d'un programme où la variable est reconnue. Les paramètres et les variables définis à l'intérieur d'une fonction ne sont pas visibles de l'extérieur de la fonction. Par conséquent, ils ont une portée locale.
La durée de vie d'une variable est la période pendant laquelle la variable existe dans la mémoire. La durée de vie des variables à l'intérieur d'une fonction est aussi longue que la fonction s'exécute.
Ils sont détruits une fois que nous revenons de la fonction. Par conséquent, une fonction ne se souvient pas de la valeur d'une variable de ses appels précédents.
Voici un exemple pour illustrer la portée d'une variable à l'intérieur d'une fonction.
def my_func():
x = 10
print("Value inside function:",x)
x = 20
my_func()
print("Value outside function:",x)
Sortie
Value inside function: 10 Value outside function: 20
Ici, nous pouvons voir que la valeur de x est de 20 au départ. Même si la fonction my_func()
changé la valeur de x à 10, cela n'affectait pas la valeur en dehors de la fonction.
C'est parce que la variable x à l'intérieur de la fonction est différent (local à la fonction) de celui à l'extérieur. Bien qu'elles aient les mêmes noms, ce sont deux variables différentes avec des portées différentes.
D'autre part, les variables extérieures à la fonction sont visibles de l'intérieur. Ils ont une portée mondiale.
Nous pouvons lire ces valeurs depuis l'intérieur de la fonction mais nous ne pouvons pas les modifier (écrire). Pour modifier la valeur des variables hors fonction, il faut les déclarer comme variables globales à l'aide du mot-clé global
.
Types de fonctions
Fondamentalement, nous pouvons diviser les fonctions en deux types suivants :
- Fonctions intégrées :fonctions intégrées à Python.
- Fonctions définies par l'utilisateur :fonctions définies par les utilisateurs eux-mêmes.
Python