Comment appeler une fonction en Python (exemple)

Qu’est-ce que la fonction en Python ?

A Fonction en Python est un morceau de code qui s'exécute lorsqu'il est référencé. Il est utilisé pour utiliser le code à plusieurs endroits dans un programme. On l’appelle aussi méthode ou procédure. Python fournit de nombreuses fonctions intégrées comme print(), input(), compile(), exec(), etc. mais il donne également la liberté de créer vos propres fonctions.

Comment définir et appeler une fonction en Python

La fonction en Python est définie par le "définitivement" instruction suivie du nom de la fonction et des parenthèses ( () )

Mise en situation :

Définissons une fonction en utilisant la commande « def func1() : » et appelons la fonction. Le résultat de la fonction sera "J'apprends la fonction Python".

Définir et appeler une fonction en Python

La fonction imprimer func1() appelle notre def func1() : et imprime la commande » J'apprends la fonction Python Aucune."

Il existe un ensemble de règles en Python pour définir une fonction.

  • Tous les arguments ou paramètres d'entrée doivent être placés entre ces parenthèses
  • La première instruction de la fonction peut être une instruction-docstring facultative ou la chaîne de documentation de la fonction.
  • Le code de chaque fonction commence par deux points (:) et doit être en retrait (espace)
  • L'instruction return (expression) quitte une fonction, en renvoyant éventuellement une valeur à l'appelant. Une instruction return sans arguments est identique à return None.

Importance de l'indentation (espace) en Python

Avant de nous familiariser avec les fonctions Python, il est important que nous comprenions la règle d'indentation pour déclarer les fonctions Python et ces règles sont applicables à d'autres éléments de Python ainsi qu'à la déclaration de conditions, de boucles ou de variables.

Python suit un style d'indentation particulier pour définir le code, puisque Les fonctions Python n'ont pas de début ou de fin explicite comme des accolades pour indiquer le début et la fin de la fonction, elles doivent s'appuyer sur cette indentation. Ici, nous prenons un exemple simple avec la commande « imprimer ». Lorsque nous écrivons la fonction « print » juste en dessous de la fonction def 1 () : elle affichera un « erreur d'indentation : attendu un bloc indenté" .

Définir et appeler une fonction en Python

Désormais, lorsque vous ajoutez le retrait (espace) devant la fonction « imprimer », il devrait s'imprimer comme prévu.

Définir et appeler une fonction en Python

Au moins un retrait suffit pour que votre code fonctionne correctement. Mais il est conseillé de laisser environ 3 à 4 retraits pour appeler votre fonction..

Il est également nécessaire qu'en déclarant l'indentation, vous deviez conservez le même retrait pour le reste de votre code. Par exemple, dans la capture d'écran ci-dessous, lorsque nous appelons une autre instruction "toujours dans func1" et lorsqu'elle n'est pas déclarée juste en dessous de la première instruction d'impression, une erreur d'indentation s'affichera. "le retrait ne correspond à aucun autre niveau d'indentation."

Définir et appeler une fonction en Python

Désormais, lorsque nous appliquons la même indentation pour les deux instructions et que nous les alignons sur la même ligne, cela donne le résultat attendu.

Définir et appeler une fonction en Python

Comment fonctionne la valeur de retour ?

La commande Return en Python spécifie la valeur à restituer à l'appelant de la fonction. Comprenons cela avec le suivantwing exemple

Étape 1) La fonction ne renvoie rien

Ici, nous voyons quand la fonction n'est pas un « retour ». Par exemple, nous voulons le carré de 4, et il devrait donner la réponse « 16 » lorsque le code est exécuté. Ce que cela donne lorsque nous utilisons simplement le code « print x*x », mais lorsque vous appelez la fonction « print square », cela donne « None » en sortie. En effet, lorsque vous appelez la fonction, la récursion ne se produit pas et tombe à la fin de la fonction. Python renvoie « Aucun » en cas d'échec à la fin de la fonction.

Valeur de retour de la fonction

Étape 2) Remplacez la commande d'impression par la commande d'affectation

Pour rendre cela plus clair, nous remplaçons la commande d'impression par la commande d'affectation. Vérifions le résultat.

Valeur de retour de la fonction

Lorsque vous exécutez la commande « print square (4) », elle renvoie en fait la valeur de l'objet puisque nous n'avons aucune fonction spécifique à exécuter ici, elle renvoie « Aucune ».

Étape 3) Utilisez la fonction « return » et exécutez le code

Maintenant, nous allons voir ici comment récupérer la sortie à l'aide de la commande « return ». Lorsque vous utilisez la fonction « return » et exécutez le code, cela donnera la sortie « 16 ».

Valeur de retour de la fonction

Étape 4) Exécutez la commande « imprimer le carré »

Les fonctions en Python sont elles-mêmes un objet, et un objet a une certaine valeur. Nous verrons ici comment Python traite un objet. Lorsque vous exécutez la commande « imprimer le carré », elle renvoie la valeur de l'objet. Comme nous n'avons passé aucun argument, nous n'avons aucune fonction spécifique à exécuter ici, elle renvoie une valeur par défaut (0x021B2D30) qui est l'emplacement de l'objet. Dans un programme Python pratique, vous n'aurez probablement jamais besoin de faire cela.

Valeur de retour de la fonction

Arguments dans les fonctions

L'argument est une valeur qui est transmise à la fonction lors de son appel.

En d’autres termes, du côté appelant, c’est un argument et du côté fonction, c’est un paramètre.

Voyons comment fonctionne Python Args –

Étape 1) Les arguments sont déclarés dans la définition de la fonction. Lors de l'appel de la fonction, vous pouvez transmettre les valeurs de ces arguments comme indiqué ci-dessous

Arguments dans les fonctions

Étape 2) Pour déclarer une valeur par défaut d'un argument, attribuez-lui une valeur lors de la définition de la fonction.

Arguments dans les fonctions

Mise en situation : x n'a pas de valeur par défaut. Valeurs par défaut de y=0. Lorsque nous fournissons un seul argument lors de l’appel de la fonction multiplier, Python attribue la valeur fournie à x tout en conservant la valeur y=0. D'où la multiplication de x*y=0

définir et appeler une fonction en Python

Étape 3) Cette fois, nous changerons la valeur en y=2 au lieu de la valeur par défaut y=0, et cela renverra la sortie sous la forme (4×2)=8.

Arguments dans les fonctions

Étape 4) Vous pouvez également modifier l'ordre dans lequel les arguments peuvent être transmis en Python. Ici, nous avons inversé l'ordre des valeurs x et y en x=4 et y=2.

Arguments dans les fonctions

Étape 5) Plusieurs arguments peuvent également être transmis sous forme de tableau. Ici, dans l'exemple, nous appelons les arguments multiples (1,2,3,4,5) en appelant la fonction (*args).

Mise en situation : Nous avons déclaré plusieurs arguments sous la forme de nombres (1,2,3,4,5) lorsque nous appelons la fonction (*args) ; il imprime la sortie comme (1,2,3,4,5)

Arguments dans les fonctions

Pourboires:

  • En Python2.7. surcharge de fonction n'est pas pris en charge en Python. La surcharge de fonctions est la possibilité de créer plusieurs méthodes du même nom avec une implémentation différente. La surcharge de fonctions est entièrement prise en charge dans Python 3
  • Il existe une certaine confusion entre les méthodes et les fonctions. Les méthodes en Python sont associées à des instances d'objet, alors que les fonctions ne le sont pas. Lorsque Python appelle une méthode, il lie le premier paramètre de cet appel à la référence d'objet appropriée. En termes simples, une fonction autonome en Python est une « fonction », alors qu'une fonction qui est un attribut d'une classe ou d'une instance est une « méthode ».

Voici le code Python 3 complet

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

Voici le code Python 2 complet

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

Résumé

Une fonction en Python est un morceau de code réutilisable utilisé pour effectuer une action unique et associée. Dans cet article, nous verrons

  • Fonction définie par le def déclaration
  • Le bloc de code dans chaque fonction commence par deux points (:) et doit être en retrait (espace)
  • Tous les arguments ou paramètres d'entrée doivent être placés entre ces parenthèses, etc.
  • Au moins un retrait doit être laissé avant le code après avoir déclaré la fonction
  • Le même style de retrait doit être conservé dans tout le code dans la fonction def
  • Pour les meilleures pratiques, trois ou quatre tirets sont considérés comme étant les meilleurs avant la déclaration
  • Vous pouvez utiliser la commande « return » pour renvoyer des valeurs à l'appel de fonction.
  • Python imprimera une valeur aléatoire comme (0x021B2D30) lorsque l'argument n'est pas fourni à la fonction appelante. Exemple de « fonction d'impression ».
  • Du côté appelant, c'est un argument et du côté fonction, c'est un paramètre
  • Valeur par défaut dans l'argument – ​​Lorsque nous fournissons un seul argument lors de l'appel de la fonction de multiplication ou de toute autre fonction, Python attribue l'autre argument par défaut
  • Python vous permet également d'inverser l'ordre des arguments