Exemples de fonctions Python :appel, indentation, arguments et valeurs de retour
Qu'est-ce qu'une fonction en Python ?
Une 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.
Dans ce tutoriel, nous allons apprendre
- Comment définir et appeler une fonction en Python
- Signification de l'indentation (espace) en Python
- Comment la fonction renvoie-t-elle la valeur ?
- Arguments dans les fonctions
Comment définir et appeler une fonction en Python
La fonction en Python est définie par le « def » suivie du nom de la fonction et des parenthèses ( () )
Exemple :
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".
La fonction print func1() appelle notre def func1() :et imprime la commande " J'apprends la fonction Python None. ”
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 facultative - docstring 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.
Signification 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 particulier d'indentation 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 "print". Lorsque nous écrivons la fonction "print" juste en dessous de la fonction def 1 () :elle affichera une "erreur d'indentation :un bloc indenté attendu ".
Maintenant, lorsque vous ajoutez le retrait (espace) devant la fonction "imprimer", il devrait s'imprimer comme prévu.
Au moins, un retrait suffit pour que votre code fonctionne correctement. Mais comme meilleure pratique, il est conseillé de laisser environ 3-4 retraits pour appeler votre fonction .
Il est également nécessaire que lors de la déclaration d'indentation, vous deviez maintenir le même indentation 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 "unindent ne correspond à aucun autre niveau d'indentation."
Maintenant, lorsque nous appliquons la même indentation pour les deux déclarations et que nous les alignons sur la même ligne, cela donne le résultat attendu.
Comment la fonction renvoie-t-elle ?
La commande Return en Python spécifie la valeur à renvoyer à l'appelant de la fonction.
Comprenons cela avec l'exemple suivant
Étape 1) Ici - nous voyons quand la fonction n'est pas "retour". Par exemple, nous voulons le carré de 4, et il devrait donner la réponse "16" lorsque le code est exécuté. Ce qu'il donne lorsque nous utilisons simplement le code "print x*x", mais lorsque vous appelez la fonction "print square", il donne "None" en sortie. En effet, lorsque vous appelez la fonction, la récursivité ne se produit pas et tombe à la fin de la fonction. Python renvoie "Aucun" pour avoir échoué à la fin de la fonction.
Étape 2) Pour rendre cela plus clair, nous remplaçons la commande d'impression par la commande d'affectation. Vérifions la sortie.
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) Maintenant, nous allons voir ici comment récupérer la sortie à l'aide de la commande "return". Lorsque vous utilisez la fonction "retour" et exécutez le code, cela donnera la sortie "16".
Étape 4) 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 "print square", elle renvoie la valeur de l'objet. Comme nous n'avons passé aucun argument, nous n'avons aucune fonction spécifique à exécuter ici, il 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.
Arguments dans les fonctions
L'argument est une valeur qui est transmise à la fonction lorsqu'elle est appelée.
En d'autres termes, côté appelant, c'est un argument et côté fonction, c'est un paramètre.
Voyons comment Python Args fonctionne –
É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 cet argument comme indiqué ci-dessous
Étape 2) Pour déclarer une valeur par défaut d'un argument, affectez-lui une valeur lors de la définition de la fonction.
Exemple :x n'a pas de valeurs par défaut. Valeurs par défaut de y=0. Lorsque nous fournissons un seul argument lors de l'appel de la fonction de multiplication, Python attribue la valeur fournie à x tout en conservant la valeur de y=0. D'où la multiplication de x*y=0
Étape 3) Cette fois, nous allons changer la valeur en y=2 au lieu de la valeur par défaut y=0, et la sortie sera renvoyée sous la forme (4×2)=8.
Étape 4) Vous pouvez également modifier l'ordre dans lequel les arguments peuvent être passés en Python. Ici, nous avons inversé l'ordre des valeurs x et y en x=4 et y=2.
Étape 5) Plusieurs arguments peuvent également être passés sous forme de tableau. Ici, dans l'exemple, nous appelons les multiples arguments (1,2,3,4,5) en appelant la fonction (*args).
Exemple :Nous avons déclaré plusieurs arguments en tant que nombre (1,2,3,4,5) lorsque nous avons appelé la fonction (*args) ; il imprime la sortie sous la forme (1,2,3,4,5)
Conseils :
- En Python 2.7. surcharge de fonctions 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é :
La fonction en Python est un morceau de code réutilisable qui est utilisé pour effectuer une action unique et connexe. Dans cet article, nous allons voir
- Fonction définie par la 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 d'indentation doit être conservé dans tout le code dans la fonction def
- Pour les meilleures pratiques, trois ou quatre retraits sont considérés comme préférables 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 "fonction d'impression".
- Côté appelant, c'est un argument et 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
Python