Tutoriel Python

Python ACCUEIL Introduction à Python Python pour commencer Syntaxe Python Commentaires Python Variables Python Types de données Python Nombres Python Casting Python Chaînes Python Booléens Python Opérateurs Python Listes Python Tuples Python Ensembles Python Dictionnaires Python Python Si... Sinon Boucles tant que Python Python pour les boucles Fonctions Python Python Lambda Tableaux Python Classes/Objets Python Héritage Python Itérateurs Python Portée Python Modules Python Dates Python Mathématiques Python PythonJSON Python RegEx PIP Python Python Essayer... Sauf Entrée utilisateur Python Formatage de chaîne Python

La gestion des fichiers

Gestion des fichiers Python Fichiers de lecture Python Python écrire/créer des fichiers Python Supprimer des fichiers

Modules Python

Tutoriel NumPy Procédure pas à pas Panda Tutoriel Scipy

Python Matplotlib

Introduction à Matplotlib Matplotlib Commencer MatplotlibPyplot Tracé Matplotlib Marqueurs Matplotlib Ligne Matplotlib Étiquettes Matplotlib Grille Matplotlib Sous-parcelles Matplotlib Matplotlib Scatter Barres Matplotlib Histogrammes Matplotlib Graphiques à secteurs Matplotlib

Apprentissage automatique

Commencer Mode médian moyen Écart-type Centile Diffusion des données Répartition normale des données Nuage de points Régression linéaire Régression polynomiale Régression multiple Échelle Former/Tester Arbre de décision

Python MySQL

MySQL Premiers pas Créer une base de données MySQL Créer une table MySQL Insertion MySQL Sélectionnez MySQL MySQL Où Trier MySQL par Supprimer MySQL Table de dépôt MySQL Mise à jour MySQL Limite MySQL Rejoindre MySQL

Python MongoDB

MongoDB Commencer MongoDB Créer une base de données Créer une collection MongoDB Insertion MongoDB Trouver MongoDB Requête MongoDB Tri MongoDB Supprimer MongoDB Collection de dépôt MongoDB Mise à jour MongoDB Limite MongoDB

Référence Python

Présentation de Python Fonctions intégrées Python Méthodes de chaîne Python Méthodes de liste Python Méthodes du dictionnaire Python Méthodes Python Tuple Méthodes d'ensemble Python Méthodes de fichier Python Mots-clés Python Exceptions Python Glossaire Python

Référence des modules

Module aléatoire Module de demandes Module Statistiques Module de mathématiques Module cMath

Python Comment

Supprimer les doublons de liste Inverser une chaîne Additionner deux nombres

Exemples Python

Exemples Python Compilateur Python Exercices Python Quizz Python Certificat Python

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 du mot-clé def :

Exemple

def my_function():
  print("Hello from a function")

Appel d'une fonction

Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses :

Exemple

def my_function():
  print("Hello from a function")

my_function()

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 my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Les arguments sont souvent abrégés en args 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 my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
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 my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Arguments arbitraires, *args

Si vous ne savez pas combien d'arguments seront transmis à votre fonction, ajoutez a *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 pourra accéder aux éléments en conséquence :

Exemple

Si le nombre d'arguments est inconnu, ajoutez un *avant le nom du paramètre :

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Les arguments arbitraires sont souvent abrégés en *args dans les documentations Python.


Arguments de mots clés

Vous pouvez également envoyer des arguments avec la syntaxe clé = valeur .

De cette façon, l'ordre des arguments n'a pas d'importance.

Exemple

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

L'expression Keyword Arguments est souvent abrégée 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 pourra 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(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Les 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 my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

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(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Valeurs de retour

Pour laisser une fonction renvoyer une valeur, utilisez l' return instruction :

Exemple

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

La déclaration de passe

functionLes définitions ne peuvent pas être vides, mais si, pour une raison quelconque, vous avez une functiondéfinition sans contenu, insérez-la dans l' passinstruction pour éviter d'obtenir une erreur.

Exemple

def myfunction():
  pass

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 elle-même ("recurse"). Nous utilisons la variable k comme donnée, qui décrémente ( -1 ) à chaque fois que nous récursons. 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):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Testez-vous avec des exercices

Exercer:

Créez une fonction nommée my_function.

:
  print("Hello from a function")