Fonctions Python (def): définition avec des exemples

Dans cet article, vous découvrirez les fonctions, ce qu'est une fonction, la syntaxe, les composants et les types de fonctions. En outre, vous apprendrez à 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 associées qui effectue une tâche spécifique.

Les fonctions aident à diviser notre programme en morceaux plus petits et modulaires. Au fur et à mesure que notre programme s'agrandit, les fonctions le rendent plus organisé et plus gérable.

De plus, cela évite les répétitions et rend le code réutilisable.

Syntaxe de la fonction

 def nom_fonction (paramètres): "" "docstring" "" instruction (s)

Ci-dessus, une définition de fonction qui comprend les composants suivants.

  1. Mot def- clé qui marque le début de l'en-tête de la fonction.
  2. 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 d'identificateurs en Python.
  3. Paramètres (arguments) par lesquels nous passons des valeurs à une fonction. Ils sont facultatifs.
  4. Un deux-points (:) pour marquer la fin de l'en-tête de la fonction.
  5. Chaîne de documentation facultative (docstring) pour décrire ce que fait la fonction.
  6. 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).
  7. Une returninstruction facultative 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!

Remarque: essayez d'exécuter le code ci-dessus dans le programme Python avec la définition de fonction pour voir la sortie.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

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é la semaine dernière, documentez toujours votre code.

Dans l'exemple ci-dessus, nous avons une docstring immédiatement sous l'en-tête de la fonction. Nous utilisons généralement des guillemets triples pour que la docstring puisse s'étendre sur plusieurs lignes. Cette chaîne nous est disponible comme __doc__attribut de la fonction.

Par exemple :

Essayez d'exécuter ce qui suit dans le shell Python pour voir la sortie.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Pour en savoir plus sur les docstrings en Python, visitez Docstrings Python.

La déclaration de retour

L' returninstruction est utilisée pour quitter une fonction et revenir à l'endroit d'où elle a été appelée.

Syntaxe de retour

 return (liste_expressions)

Cette instruction peut contenir une expression qui est évaluée et la valeur est renvoyée. S'il n'y a aucune expression dans l'instruction ou si l' returninstruction elle-même n'est pas présente dans une fonction, la fonction renverra l' Noneobjet.

Par exemple:

 >>> print(greet("May")) Hello, May. Good morning! None

Voici Nonela valeur renvoyée car greet()imprime directement le nom et aucune returninstruction n'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))

Production

 2 4

Comment fonctionne Function en Python?

Fonctionnement des fonctions 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 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 sort 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 à partir 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)

Production

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Fonctions intégrées - Fonctions intégrées à Python.
  2. Fonctions définies par l'utilisateur - Fonctions définies par les utilisateurs eux-mêmes.

Articles intéressants...