Fonctions Python

Une fonction est un bloc de code qui ne s’exécute que lorsqu’elle est appelée.
Vous pouvez transmettre des données, appelées paramètres, dans une fonction.
Une fonction peut renvoyer des données en conséquence.
Création d’une fonction
En Python, une fonction est définie à l’aide de la définitivement
mot-clé:
Exemple
def ma_fonction() :
print(« Bonjour d’une fonction »)
Appel d’une fonction
Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses :
Exemple
def ma_fonction() :
print(« Bonjour d’une fonction »)
ma_fonction()
Essayez-le vous-même »
Arguments
Les informations peuvent être transmises aux fonctions en tant qu’arguments.
Les arguments sont spécifiés après le nom de la fonction, entre parenthèses. Vous pouvez ajouter autant d’arguments que vous le souhaitez, séparez-les simplement par une virgule.
L’exemple suivant a une fonction avec un argument (fname). Lorsque la fonction est appelée, nous transmettons un prénom, qui est utilisé à l’intérieur de la fonction pour imprimer le nom complet :
Exemple
def ma_fonction(nom de famille):
print(fname + » Refsnes »)
ma_fonction(« Émile »)
ma_fonction(« Tobias »)
ma_fonction(« Linus »)
Essayez-le vous-même »
Arguments sont souvent abrégés en arguments dans les documentations Python.
Paramètres ou arguments ?
Les termes paramètre et argument peuvent être utilisés pour la même chose : des informations transmises à une fonction.
Du point de vue d’une fonction :
Un paramètre est la variable répertoriée entre parenthèses dans la définition de la fonction.
Un argument est la valeur qui est envoyée à la fonction lorsqu’elle est appelée.
Nombre d’arguments
Par défaut, une fonction doit être appelée avec le bon nombre d’arguments. Cela signifie que si votre fonction attend 2 arguments, vous devez appeler la fonction avec 2 arguments, ni plus, ni moins.
Exemple
Cette fonction attend 2 arguments et obtient 2 arguments :
def ma_fonction(fname, lname):
print(fname + » » + lname)
ma_fonction(« Emil », « Refsnes »)
Essayez-le vous-même »
Si vous essayez d’appeler la fonction avec 1 ou 3 arguments, vous obtiendrez une erreur :
Exemple
Cette fonction attend 2 arguments, mais n’en obtient qu’un :
def ma_fonction(fname, lname):
print(fname + » » + lname)
ma_fonction(« Emile »)
Essayez-le vous-même »
Arguments arbitraires, *args
Si vous ne savez pas combien d’arguments seront transmis à votre fonction, ajoutez un *
avant le nom du paramètre dans la définition de la fonction.
De cette façon, la fonction recevra un tuple d’arguments, et peut accéder aux éléments en conséquence :
Exemple
Si le nombre d’arguments est inconnu, ajouter un *
avant le nom du paramètre :
def my_function(*enfants):
print(« Le plus jeune enfant est » + enfants[2])
ma_fonction(« Emil », « Tobias », « Linus »)
Essayez-le vous-même »
Arguments arbitraires sont souvent abrégés en *arguments dans les documentations Python.
Arguments de mots clés
Vous pouvez également envoyer des arguments avec le clé = valeur syntaxe.
De cette façon, l’ordre des arguments n’a pas d’importance.
Exemple
def ma_fonction(enfant3, enfant2, enfant1):
print(« Le plus jeune enfant est » + enfant3)
ma_fonction(enfant1 = « Emil », enfant2 = « Tobias », enfant3 = « Linus »)
Essayez-le vous-même »
La phrase Arguments de mots clés sont souvent abrégés en kwargs dans les documentations Python.
Arguments de mots-clés arbitraires, **kwargs
Si vous ne savez pas combien d’arguments de mots clés seront transmis à votre fonction, ajoutez deux astérisques : **
avant le nom du paramètre dans la définition de la fonction.
De cette façon, la fonction recevra un dictionnaire d’arguments, et peut accéder aux éléments en conséquence :
Exemple
Si le nombre d’arguments de mots clés est inconnu, ajoutez un double
**
avant le nom du paramètre :
def my_function(**enfant):
print(« Son nom de famille est » + enfant[« lname »])
ma_fonction(fname = « Tobias », lname = « Refsnes »)
Essayez-le vous-même »
Arguments Kword arbitraires sont souvent abrégés en **kwargs dans les documentations Python.
Valeur de paramètre par défaut
L’exemple suivant montre comment utiliser une valeur de paramètre par défaut.
Si nous appelons la fonction sans argument, elle utilise la valeur par défaut :
Exemple
def ma_fonction(pays = « Norvège »):
print(« Je viens de » + pays)
ma_fonction(« Suède »)
ma_fonction(« Inde »)
ma_fonction()
ma_fonction(« Brésil »)
Essayez-le vous-même »
Passer une liste comme argument
Vous pouvez envoyer n’importe quel type de données d’argument à une fonction (chaîne, nombre, liste, dictionnaire, etc.), et il sera traité comme le même type de données à l’intérieur de la fonction.
Par exemple, si vous envoyez une List comme argument, ce sera toujours une List lorsqu’elle atteindra la fonction :
Exemple
def my_function(nourriture):
pour x dans les aliments :
impression(x)
fruits = [« apple », « banana », « cherry »]
ma_fonction(fruits)
Essayez-le vous-même »
Valeurs de retour
Pour laisser une fonction renvoyer une valeur, utilisez la return
déclaration:
Exemple
def ma_fonction(x):
retour 5 * x
print(ma_fonction(3))
print(ma_fonction(5))
print(ma_fonction(9))
Essayez-le vous-même »
La déclaration de passe
function
les définitions ne peuvent pas être vides, mais si, pour une raison quelconque, vous avez un function
définition sans contenu, mise dans le pass
déclaration pour éviter d’obtenir une erreur.
Récursivité
Python accepte également la récursivité des fonctions, ce qui signifie qu’une fonction définie peut s’appeler elle-même.
La récursivité est un concept mathématique et de programmation courant. Cela signifie qu’une fonction s’appelle elle-même. Cela a l’avantage de signifier que vous pouvez parcourir les données pour atteindre un résultat.
Le développeur doit être très prudent avec la récursivité car il peut être assez facile de se glisser dans l’écriture d’une fonction qui ne se termine jamais, ou qui utilise des quantités excessives de mémoire ou de puissance de processeur. Cependant, lorsqu’elle est écrite correctement, la récursivité peut être une approche de programmation très efficace et mathématiquement élégante.
Dans cet exemple, tri_recursion() est une fonction que nous avons définie pour s’appeler (« recurse »). Nous utilisons le k variable comme la donnée, qui décrémente (-1) à chaque fois que nous récidivons. La récursivité se termine lorsque la condition n’est pas supérieure à 0 (c’est-à-dire lorsqu’elle vaut 0).
Pour un nouveau développeur, cela peut prendre un certain temps pour comprendre comment cela fonctionne exactement, la meilleure façon de le savoir est de le tester et de le modifier.
Exemple
Exemple de récursivité
def tri_recursion(k):
si(k > 0):
résultat = k + tri_recursion(k – 1)
imprimer (résultat)
autre:
résultat = 0
résultat de retour
print(« nnExemple de résultats de récurrence »)
tri_recursion(6)
Essayez-le vous-même »
#Fonctions #Python