Dans cette leçon, vous découvrirez les fonctions en Python. Nous écrivons du code aléatoire depuis quelques leçons maintenant, mais nous devons apprendre à écrire du code organisé. En d'autres termes, nous pouvons combiner notre code libre en plus petits des morceaux de code gérables et maintenables. Et ces morceaux de code sont ce que nous appelons des fonctions. Et l’un des grands avantages de l’utilisation des fonctions est que nous écrivez-le une fois, puis nous l'utilisons autant de fois plus tard dans notre candidature. Nous définissons donc notre fonction en stockant tout le code dans celui-ci tronçon. Ensuite, nous pouvons réutiliser cette fonction en l'appelant de n'importe où dans notre candidature. En fait, le terme appelant une fonction peut être remplacé avec le terme exécuter une fonction ou invoquer une fonction ou exécuter une fonction. Donc, fondamentalement, tous veulent dire la même chose. Et une autre façon de voir une fonction est de considérer qu'il s'agit d'un conteneur contenant quelques lignes de code qui effectuent une tâche spécifique. Et c'est un point clé à noter, c'est que les fonctions ne doivent fais une chose. Par exemple, nous avons déjà travaillé et utilisé des fonctionnalités intégrées fonctions en Python, comme la fonction print et le type fonction. Ces fonctions ne font qu'une chose chacune et c'est tout. La fonction d'impression imprime simplement tout ce que nous transmettons dans le parenthèses. Et la fonction type prend simplement un nom de variable et renvoie son type. Donc juste une tâche spécifique par fonction. Je voulais aussi clarifier un point clé de la terminologie, on entendra les termes fonctions et méthodes. Vous pourriez également les entendre utilisés de manière interchangeable, mais il existe un légère différence. Les fonctions sont ce dont nous avons discuté jusqu'à présent. Quant aux méthodes, ce sont aussi des fonctions mais appartiennent à un classe particulière. Puisque nous n'avons pas encore discuté des classes ou des objets, s'il vous plaît comprenez pour l'instant que si une fonction n'appartient pas à un classe, alors c'est juste une fonction. Cependant, si la fonction appartient à une classe, alors nous appelons ça une méthode. Ils sont tous deux définis de la même manière et se ressemblent, mais nous les appelons soit une fonction, soit une méthode, selon si elles sont autonomes ou appartiennent à une classe. Très bien, voici à quoi ressemble une fonction en Python. Nous commençons par un mot-clé de réserve appelé def, qui est l'abréviation de définir ou définition parce que nous définissons une fonction suivi d'un nom de fonction. Et dans ce cas, le nom de la fonction est add, puis il est suivi d'une paire de parenthèses qui peuvent contenir éléments, et ces éléments sont appelés paramètres. Ces paramètres sont ensuite utilisés dans le code de la fonction. Désormais, certaines fonctions ont des paramètres, d'autres non. en ont besoin, ils sont donc facultatifs. Et donc ces parenthèses peuvent être vides. Puis après les parenthèses est suivi de deux points, qui comme on a déjà vu, avec les boucles et les conditionnels, les deux points signifient qu'un code indenté est à venir et ce code indenté le code est le corps de la fonction. Et parce que ces lignes de code sont en retrait. Cela signifie à l'interpréteur Python qu'ils font partie de cette fonction. Enfin, nous avons l'instruction return. Le mot return en minuscules est un autre Python mot réservé, tout comme le mot-clé def ici. L'instruction return est utilisée pour spécifier ce que la fonction devrait revenir. Et une fonction peut renvoyer n'importe quel type de valeur, y compris des chaînes, des entiers et même d’autres fonctions. Donc si nous regardons cette fonction particulière, nous voyons que son nom est add et qu'il prend deux paramètres NUM un et NUM deux. Lorsque cette fonction est appelée, ces deux valeurs sont transmises comme partie de l'appel de fonction, et nous voyons cet appel de fonction ici. Nous appelons la fonction en tapant son nom et lui transmettons tout ce qui est nécessaire arguments Veuillez noter la différence de nom entre les arguments et paramètres lorsque nous passons des éléments entre parenthèses lors d'un appel de fonction, comme cette ligne, nous appelons ces éléments arguments. Mais lorsque nous définissons une fonction et incluons des éléments dans le les parenthèses, comme ici, sont alors appelées paramètres. Alors s'il vous plaît, soyez conscient de cette distinction et comprenez que certaines personnes les utilisent également de manière interchangeable. Nous appelons donc la fonction ici par son nom, puis lui passons deux arguments, un deux et un quatre. Maintenant, le nombre d'arguments doit correspondre au nombre de paramètres, et s'ils ne correspondent pas, alors Python le fera générer une erreur. Ainsi, dans cet exemple, la valeur deux sera la valeur du NUM un paramètre, et la valeur quatre sera la valeur du NUM deux paramètres. Et une fois que cet appel de fonction est effectué et que les arguments sont passé, alors la fonction s'exécute et exécute le code dans le bloc en retrait. Et une fois ces lignes exécutées, nous arrivons à l'instruction return, qui renvoie ensuite une valeur à l'instruction d'appel de fonction. Cette valeur d'ajout sera donc renvoyée à cet appel de fonction ici. Désormais, toutes les fonctions ne renvoient pas quelque chose à l’appel de fonction. Donc, dans un tel scénario, nous n’avons pas besoin d’une instruction return. En fait, toutes les fonctions renvoient quelque chose. Mais lorsque nous n'incluons pas explicitement d'instruction return, le La fonction Python renverra toujours quelque chose, qui est le mot aucun, ce qui se passe en arrière-plan. En Python, les fonctions qui renvoient quelque chose sont appelées fructueux, tandis que les fonctions qui s'exécutent simplement et ne reviennent pas tout est appelé infructueux. Très bien, laissez-moi vous emmener vers un notebook Jupyter qui déjà a tout ce code tapé pour nous. Et quand j'exécute ce code, JE. Obtenez le résultat attendu. Lorsque j'exécute ce code, l'interpréteur Python démarre à partir de haut, et la première chose qu'il rencontre est une définition d'un fonction. Cependant, ce code ne s'exécutera pas tant que quelqu'un ne l'aura pas appelé en premier. L'interpréteur Python ignore donc l'exécution de ce groupe de lignes pour l'instant. Ensuite, il continue les lignes de code et trouve ceci première ligne de code exécutable, qui est juste une variable que je attribué une valeur pour un appel de fonction. Nous appelons donc cette fonction, qui s'appelle Add, et nous passons la deux arguments un deux et un quatre. Cela revient à son tour à la définition de cette fonction, stocke les valeurs de Deux et Quatre dans le NUM un et le NUM deux paramètres, puis entre et exécute le bloc de code. Cela exécute ces deux instructions d'impression, puis crée une nouvelle variable appelée Addition et lui attribue la valeur de NUM un plus NUM Deux, soit deux plus quatre. Cela donne donc une réponse de six. Ensuite, il renvoie cette valeur à l'aide de l'instruction return. Ainsi, cette valeur est renvoyée à la fonction Call, qui est ici. Alors maintenant, cet appel de fonction est un six et nous attribuons cette valeur à la variable res que nous avons finalement imprimée sur cette ligne. Nous obtenons donc un six dans notre sortie. Maintenant, certaines choses qui peuvent mal tourner avec ce code sont, par exemple Par exemple, nous ne transmettons pas le nombre correct d'arguments. Par exemple, je supprimerai la valeur quatre de notre appel de fonction et exécutez à nouveau ce code. Cela générera une erreur indiquant que la fonction Ajouter est il manque un argument qui est correct. De plus, si j'appelle la fonction mais que j'utilise plutôt un A majuscule du A minuscule attendu pour correspondre à celui de la fonction. Nom puis exécutez-le, Je vais. Obtenez également une erreur. Alors s'il vous plaît, soyez encore une fois prudent avec la façon dont vous nommez et appelez votre les fonctions. Désormais, cela fait partie des meilleures pratiques de programmation inclure un commentaire juste au-dessus de la définition de la fonction pour expliquer ce que fait cette fonction. Donc au lieu de parcourir le code ligne par ligne pour comprendre ce qu'il fait, un commentaire d'une ou deux lignes qui explique cela cette fonction vous aidera certainement à l'avenir lorsque vous ou quelqu'un sinon, il examine ce code. De plus, cela fait partie des meilleures pratiques de programmation de quitter deux lignes vides avant et après la fonction. Cette fonction n'a pas de code avant, mais après. Vous pouvez voir que j'ai laissé deux lignes vides entre le retour instruction et la ligne de code suivante. Encore une fois, ce ne sont que les meilleures pratiques de programmation. Ce n'est donc pas une obligation, mais il est toujours conseillé de suivre au mieux Les pratiques. Enfin, le code d'appel de la fonction doit venir après la fonction a été définie. Par exemple, je mettrai cette ligne d'appel de fonction avant le la fonction a été. Défini et. C'est alors que je courrai. Il. Et j'obtiens une erreur car j'appelle une fonction qui n'a pas encore été créée. n'a pas encore été défini car Python lit le code de manière séquentielle en commençant par le haut. Ainsi, dans cette leçon, vous avez découvert les fonctions en Python et restez à l'écoute pour la prochaine leçon où vous en apprendrez davantage sur les listes. Merci d'avoir regardé.