Fonctions Python est un bloc d'instructions qui renvoient la tâche spécifique. L'idée est de regrouper certaines tâches effectuées couramment ou de manière répétée et de créer une fonction de sorte qu'au lieu d'écrire le même code encore et encore pour différentes entrées, nous puissions effectuer les appels de fonction pour réutiliser le code qu'il contient encore et encore.
Quelques Avantages de l'utilisation des fonctions
- Augmenter la lisibilité du code
- Augmenter la réutilisabilité du code
Déclaration de fonction Python
La syntaxe pour déclarer une fonction est :

Syntaxe de la déclaration de fonction Python
Types de fonctions en Python
Voici les différents types de fonctions dans Python :
- Fonction de bibliothèque intégrée : Ceux-ci sont Fonctions standards en Python qui peuvent être utilisés.
- Fonction définie par l'utilisateur : Nous pouvons créer nos propres fonctions en fonction de nos besoins.
Créer une fonction en Python
On peut définir une fonction en Python, en utilisant le déf mot-clé. Nous pouvons y ajouter tout type de fonctionnalités et de propriétés selon nos besoins. Grâce à l'exemple suivant, nous pouvons comprendre comment écrire une fonction en Python. De cette façon, nous pouvons créer une définition de fonction Python en utilisant le mot-clé def.
Python3 # A simple Python function def fun(): print('Welcome to GFG')> Appeler une fonction en Python
Après avoir créé une fonction en Python, nous pouvons l'appeler en utilisant le nom des fonctions Python suivi de parenthèses contenant les paramètres de cette fonction particulière. Vous trouverez ci-dessous l'exemple d'appel de la fonction def Python.
Python3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()> Sortir:
Welcome to GFG>
Fonction Python avec paramètres
Si vous avez de l'expérience en C/C++ ou Java, vous devez penser à type de retour de la fonction et Type de données d'arguments. Cela est également possible en Python (en particulier pour Python 3.5 et supérieur).
tutoriel pyspark
Syntaxe des fonctions Python avec paramètres
def function_name(parameter: data_type) ->return_type : '''Docstring''' # corps de l'expression de retour de fonction>
L'exemple suivant utilise arguments et paramètres que vous apprendrez plus tard dans cet article afin de pouvoir y revenir s'il n'est pas compris.
Python3 def add(num1: int, num2: int) ->int : '''Ajouter deux nombres''' num3 = num1 + num2 return num3 # Code du pilote num1, num2 = 5, 15 ans = add(num1, num2) print(f'L'ajout de {num1} et {num2} résultats {ans}.')> Sortir:
The addition of 5 and 15 results 20.>
Python3Note: Les exemples suivants sont définis en utilisant la syntaxe 1, essayez de les convertir en syntaxe 2 pour vous entraîner.
# some more functions def is_prime(n): if n in [2, 3]: return True if (n == 1) or (n % 2 == 0): return False r = 3 while r * r <= n: if n % r == 0: return False r += 2 return True print(is_prime(78), is_prime(79))>
Sortir:
False True>
Arguments de la fonction Python
Les arguments sont les valeurs passées entre parenthèses de la fonction. Une fonction peut avoir n'importe quel nombre d'arguments séparés par une virgule.
Dans cet exemple, nous allons créer une fonction simple en Python pour vérifier si le nombre passé en argument à la fonction est pair ou impair.
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function evenOdd(2) evenOdd(3)> Sortir:
even odd>
Types d'arguments de fonction Python
Python prend en charge différents types d'arguments qui peuvent être transmis au moment de l'appel de fonction. En Python, nous avons les types d'arguments de fonction suivants :
- Argument par défaut
- Arguments de mots clés (arguments nommés)
- Arguments positionnels
- Arguments arbitraires (arguments de longueur variable *args et **kwargs)
Discutons de chaque type en détail.
Arguments par défaut
UN argument par défaut est un paramètre qui prend une valeur par défaut si aucune valeur n'est fournie dans l'appel de fonction pour cet argument. L'exemple suivant illustre les arguments par défaut pour écrire des fonctions en Python.
Python3 # Python program to demonstrate # default arguments def myFun(x, y=50): print('x: ', x) print('y: ', y) # Driver code (We call myFun() with only # argument) myFun(10)> Sortir:
x: 10 y: 50>
Comme les arguments par défaut du C++, n’importe quel nombre d’arguments dans une fonction peut avoir une valeur par défaut. Mais une fois que nous avons un argument par défaut, tous les arguments à sa droite doivent également avoir des valeurs par défaut.
Arguments de mots clés
L'idée est de permettre à l'appelant de spécifier le nom de l'argument avec des valeurs afin qu'il n'ait pas besoin de se souvenir de l'ordre des paramètres.
Python3 # Python program to demonstrate Keyword Arguments def student(firstname, lastname): print(firstname, lastname) # Keyword arguments student(firstname='Geeks', lastname='Practice') student(lastname='Practice', firstname='Geeks')>
Sortir:
Geeks Practice Geeks Practice>
Arguments de position
Nous avons utilisé le Argument de position lors de l'appel de fonction afin que le premier argument (ou valeur) soit affecté au nom et le deuxième argument (ou valeur) soit affecté à l'âge. En changeant la position, ou si vous oubliez l'ordre des positions, les valeurs peuvent être utilisées aux mauvais endroits, comme le montre l'exemple du cas 2 ci-dessous, où 27 est attribué au nom et Suraj à l'âge.
Python3 def nameAge(name, age): print('Hi, I am', name) print('My age is ', age) # You will get correct output because # argument is given in order print('Case-1:') nameAge('Suraj', 27) # You will get incorrect output because # argument is not in order print('
Case-2:') nameAge(27, 'Suraj')> Sortir:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Arguments de mots clés arbitraires
Dans les arguments de mots clés arbitraires Python, *args et **kwargs peut transmettre un nombre variable d'arguments à une fonction à l'aide de symboles spéciaux. Il existe deux symboles spéciaux :
- *args en Python (arguments non-mots-clés)
- **kwargs en Python (arguments de mots clés)
Exemple 1: Argument non-mots-clés de longueur variable
Python3 # Python program to illustrate # *args for variable number of arguments def myFun(*argv): for arg in argv: print(arg) myFun('Hello', 'Welcome', 'to', 'techcodeview.com')> Sortir:
Hello Welcome to techcodeview.com>
Exemple 2 : Arguments de mots-clés de longueur variable
lire un fichier csv en javaPython3
# Python program to illustrate # *kwargs for variable number of keyword arguments def myFun(**kwargs): for key, value in kwargs.items(): print('%s == %s' % (key, value)) # Driver code myFun(first='Geeks', mid='for', last='Geeks')> Sortir:
first == Geeks mid == for last == Geeks>
Docstring
La première chaîne après la fonction est appelée chaîne de document ou Docstring en bref. Ceci est utilisé pour décrire la fonctionnalité de la fonction. L'utilisation de docstring dans les fonctions est facultative mais elle est considérée comme une bonne pratique.
La syntaxe ci-dessous peut être utilisée pour imprimer la docstring d'une fonction.
Syntax: print(function_name.__doc__)>
Exemple: Ajout de Docstring à la fonction
sous-chaîne javaPython3
# A simple Python function to check # whether x is even or odd def evenOdd(x): '''Function to check if the number is even or odd''' if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function print(evenOdd.__doc__)> Sortir:
Function to check if the number is even or odd>
Fonction Python dans les fonctions
Une fonction définie à l'intérieur d'une autre fonction est appelée fonction interne ou fonction imbriquée . Les fonctions imbriquées peuvent accéder aux variables de la portée englobante. Les fonctions internes sont utilisées pour pouvoir être protégées de tout ce qui se passe en dehors de la fonction.
Python3 # Python program to # demonstrate accessing of # variables of nested functions def f1(): s = 'I love techcodeview.com' def f2(): print(s) f2() # Driver's code f1()>
Sortir:
I love techcodeview.com>
Fonctions anonymes en Python
En Python, un 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 est utilisé pour créer des fonctions anonymes.
Python3 # Python code to illustrate the cube of a number # using lambda function def cube(x): return x*x*x cube_v2 = lambda x : x*x*x print(cube(7)) print(cube_v2(7))>
Sortir:
343 343>
Fonctions récursives en Python
Récursivité en Python fait référence au moment où une fonction s'appelle elle-même. Il existe de nombreux cas où vous devez créer une fonction récursive pour résoudre Problèmes mathématiques et récursifs.
L'utilisation d'une fonction récursive doit être effectuée avec prudence, car une fonction récursive peut devenir comme une boucle sans fin. Il est préférable de vérifier votre instruction de sortie lors de la création d'une fonction récursive.
Python3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Sortir
24>
Ici, nous avons créé une fonction récursive pour calculer la factorielle du nombre. Vous pouvez voir que l'instruction de fin de cette fonction est lorsque n est égal à 0.
Instruction de retour dans la fonction Python
L'instruction de retour de fonction est utilisée pour quitter une fonction, revenir à l'appelant de la fonction et renvoyer la valeur ou l'élément de données spécifié à l'appelant. La syntaxe de l'instruction return est la suivante :
return [expression_list]>
L'instruction return peut consister en une variable, une expression ou une constante qui est renvoyée à la fin de l'exécution de la fonction. Si aucun des éléments ci-dessus n'est présent avec l'instruction return, un objet None est renvoyé.
Exemple: Déclaration de retour de fonction Python
Python3 def square_value(num): '''This function returns the square value of the entered number''' return num**2 print(square_value(2)) print(square_value(-4))>
Sortir:
4 16>
Passer par référence et passer par valeur
Une chose importante à noter est qu’en Python, chaque nom de variable est une référence. Lorsque l'on passe une variable à une fonction Python, une nouvelle référence à l'objet est créée. Le passage de paramètres en Python est identique au passage de références en Java.
Python3 # Here x is a new reference to same list lst def myFun(x): x[0] = 20 # Driver Code (Note that lst is modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Sortir:
[20, 11, 12, 13, 14, 15]>
Lorsque nous transmettons une référence et modifions la référence reçue par autre chose, la connexion entre les paramètres transmis et reçus est rompue. Par exemple, considérons le programme ci-dessous comme suit :
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = [20, 30, 40] # Driver Code (Note that lst is not modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Sortir:
[10, 11, 12, 13, 14, 15]>
Un autre exemple montre que le lien de référence est rompu si nous attribuons une nouvelle valeur (à l'intérieur de la fonction).
CSS alignant les imagesPython3
def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = 20 # Driver Code (Note that x is not modified # after function call. x = 10 myFun(x) print(x)>
Sortir:
10>
Exercice: Essayez de deviner le résultat du code suivant.
Python3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Sortir:
2 3>
Liens rapides
- Quiz sur les fonctions Python
- Différence entre méthode et fonction en Python
- Fonctions de première classe en Python
- Articles récents sur les fonctions Python .
FAQ – Fonctions Python
T1. Qu’est-ce que la fonction en Python ?
La fonction Python est un bloc de code qui s'exécute uniquement lorsqu'il est appelé. Il est programmé pour renvoyer la tâche spécifique. Vous pouvez transmettre des valeurs dans des fonctions appelées paramètres. Cela aide à effectuer des tâches répétitives.
Q2. Quels sont les 4 types de fonctions en Python ?
Les principaux types de fonctions en Python sont :
- Fonction intégrée
- Fonction définie par l'utilisateur
- Fonctions Lambda
- Fonctions récursives
Q3. H comment écrire une fonction en Python ?
Pour écrire une fonction en Python, vous pouvez utiliser le mot-clé def puis écrire le nom de la fonction. Vous pouvez fournir le code de fonction après avoir utilisé ':'. La syntaxe de base pour définir une fonction est la suivante :
def nom_fonction() :
#déclaration
Q4. Quels sont les paramètres d’une fonction en Python ?
Les paramètres en Python sont les variables qui prennent les valeurs transmises comme arguments lors de l'appel des fonctions. Une fonction peut avoir n'importe quel nombre de paramètres. Vous pouvez également définir la valeur par défaut d'un paramètre en Python.