‫Content de te revoir.
‫Dans cette vidéo, je veux parler d'un concept important, qui est le retour.
‫C'est un mot clé en Python que nous allons voir beaucoup en travaillant avec des fonctions.
‫Jetons donc un coup d'œil.
‫Si je dis que je veux créer une fonction appelée somme, qui, soit dit en passant, existe déjà en Python, mais
‫nous allons créer la nôtre et je vais dire numéro un pour numéro un.
‫Et numéro deux, eh bien, notre fonction de somme va ajouter neuf un plus num deux, une fonction simple et agréable.
‫Maintenant, si j'en lance avec les numéros quatre et cinq, devinez ce qui va se passer ?
‫Je vais courir.
‫Et rien ne se passe, ce que je veux dire, cela ne vous surprendra peut-être pas, car nous n'imprimons rien, n'est-ce pas.
‫Mais que se passe-t-il si je lance print ici ?
‫Cela changera-t-il ?
‫Voyons voir.
‫Hmm, je n'en reçois aucun.
‫Est-ce ce à quoi vous vous attendiez et nous n'en avons vu aucun auparavant.
‫Bon, je veux dire, tu te souviens quand nous avions une liste, disons un à trois, et ensuite nous avons fait quelque chose comme
‫clair dessus ?
‫Dans notre Ed, cela nous a donné cette petite flèche et dit aucune, et nous avons parlé de cette idée de sur
‫les listes, quelque chose comme clair change la liste actuelle et efface tout et vide la liste.
‫Mais il ne renvoie pas une nouvelle liste.
‫Il modifie simplement la liste existante, mais ne nous en renvoie aucune.
‫Eh bien, les fonctions sont juste comme ça.
‫Ils doivent toujours rendre quelque chose.
‫Et quand ils ne renvoient rien comme s'il n'y avait pas de mot-clé de retour ici, il n'en renvoie automatiquement aucun.
‫Donc, si nous n'avons pas quelque chose comme return ici, cela ne rapportera toujours rien.
‫Mais si nous ajoutons le retour, il dira dès que nous arriverons à, comme, à hé.
‫Je veux que vous quittiez cette fonction, et lorsque vous quittez cette fonction, je veux que vous retourniez ce que cette
‫expression nous donne, si je clique, lancez.
‫J'en reçois neuf.
‫Si nous changeons cela en 10.
‫Plus cinq, nous en obtenons 15.
‫Et c'est une bonne règle générale avec les fonctions, car les fonctions peuvent faire deux choses, n'est-ce pas ?
‫Un, il peut retourner quelque chose.
‫Donc, à la fin de la fonction, peu importe, après l'exécution de la fonction, nous retournons quelque chose
‫soit Nunn ou une sorte de valeur, une sorte de type de données, ou nous pouvons avoir une fonction qui ne
‫retourne rien mais modifie peut-être quelque chose.
‫Ainsi, par exemple, je pourrais imprimer.
‫Salut.
‫Et si j'avais couru ici.
‫Je n'en retourne aucun car je n'ai pas cette instruction return, cependant, ma fonction fait quelque chose qu'elle modifie.
‫Eh bien, le look de cette taxe, à droite, un prince élevé pour nous.
‫Ainsi, une fonction modifie quelque chose dans notre programme ou renvoie quelque chose.
‫Et c'est un sujet assez avancé que nous aborderons plus tard
‫lorsque nous parlerons de programmation fonctionnelle, mais une bonne règle de base avec les fonctions est qu'une fonction devrait très bien faire une chose.
‫Et généralement, une fonction devrait renvoyer quelque chose.
‫Maintenant, cela ne signifie pas que toute fonction qui peut faire plusieurs choses ou toute fonction qui ne
‫renvoie rien est mauvaise, mais c'est généralement une bonne pratique de rendre votre code simple et lisible, d'avoir ces
‫deux règles.
‫Par exemple, ici, si j'ai print et add, will, cette fonction fait plusieurs choses.
‫C'est s'inquiéter de l'impression et c'est aussi s'inquiéter de quelque chose.
‫Et la définition de cette fonction s'appelle certains.
‫Je veux dire, si je ne savais pas ou si je ne voyais pas cela et que tout ce que je faisais était d'en lancer, je pense
‫qu'avoir une impression élevée serait surprenant parce que le nom ne décrit pas vraiment ce qu'il fait.
‫Je veux dire, je m'attends à ce que ce soit un certain temps.
‫Pourquoi mon programme dit bonjour ?
‫Donc, nous voulons nous assurer que notre fonction fait une chose et une seule chose vraiment ?
‫Eh bien, parce que comme nous le verrons plus tard, nous pouvons combiner et exécuter différentes fonctions ensemble.
‫Et puis nous voulons aussi nous assurer que nous retournons quelque chose, car de cette façon, ce que nous pouvons faire,
‫c'est que nous pouvons réellement affecter cette valeur de retour à une variable.
‫Par exemple, je peux dire que le total est égal à environ 10.
‫Cinq.
‫Et parce que cette fonction renvoie quelque chose et quand c'est fait, running va avoir 15 comme valeur, c'est la même chose
‫que ce que nous faisons ici.
‫Et voici la partie cool maintenant je peux courir peut-être une dizaine.
‫Plus la totalité.
‫Maintenant, passons en revue cela un par un.
‫Je définis ma fonction, l'interpréteur Python va dire, d'accord, je sais ce que c'est maintenant que vous
‫l'avez défini.
‫Je vais le garder en mémoire.
‫Ça va continuer, continuer jusqu'à la ligne sept.
‫Et ça va dire, hé, je veux un total variable et je veux que cette variable totale soit égale à environ 10
‫cinq.
‫Et avant même d'attribuer quoi que ce soit à total python, l'interprète va dire quoi?
‫Certains encore.
‫Oh, je me souviens ici.
‫C'est en mémoire, OK, à certains je vais lui donner les arguments 10 et 5.
‫Il va donc exécuter cette fonction.
‫Dès que nous aurons terminé cette parenthèse fermante, elle ira au soleil.
‫Ça va dire, hé, personne ne va égaler dix.
‫Hé, le numéro deux va être égal à cinq.
‫Maintenant, nous allons à la ligne deux et il va dire, hé, je veux que vous ajoutiez dix plus cinq parce que je sais quelles
‫sont ces variables.
‫Et puis une fois que vous avez terminé avec cela et que cela devient 15, je veux que vous reveniez.
‫Donc, l'interpréteur Python, enfin, quand il aura fini d'en appeler, dira, hé, attribuez la valeur de
‫15 à la variable total, puis il passera à la ligne suivante.
‫Hé, je veux imprimer quelque chose.
‫Que voulez-vous imprimer ?
‫Eh bien, je veux imprimer ça.
‫Ça va dire, hé, ce que je sais, ce qu'il y a là-dessus.
‫Je l'ai en mémoire.
‫Et puis encore, ça va dire dix.
‫Et puis le prochain argument va être total.
‫Hé, qu'est-ce qu'il y a au total ?
‫Laissez-moi aller à la mémoire et découvrir.
‫Ah, il est 15.
‫C'est comme dire 50.
‫Et c'est le pouvoir des fonctions, c'est vrai, je suis capable de retourner des choses et de les affecter à des variables et de les appeler comme
‫ça et je peux continuer à les exécuter si je le souhaite.
‫Si je veux rendre cela encore plus simple, je peux y aller.
‫Certains au lieu du total seront ici.
‫Et regardez ça maintenant.
‫J'ai tout sur une seule ligne et si je clique sur exécuter.
‫Encore une fois, ça marche toujours.
‫OK, mais et si on faisait quelque chose comme ça ?
‫Que se passe-t-il si je dis en définir, puis je dirai définir à l'intérieur d'ici une autre fonction et cette fonction prend le
‫numéro un et le numéro deux.
‫Et ici, nous retournons enfin le numéro un et le numéro deux.
‫Hum, testons ça.
‫Que penses-tu qu'il va se passer?
‫Eh bien, d'abord, disons que le total est égal à 10 plus 20.
‫Et puis je vais imprimer le total.
‫Si je clique, cours.
‫Je n'en reçois aucun.
‫Maintenant, pourquoi est-ce et cela devrait être évident pour vous, car ici je dis, hé, je veux que vous définissiez
‫quelque chose et qu'allons-nous faire avec la fonction ?
‫Certains bien, à l'intérieur d'ici, je vais définir une autre fonction.
‫Mais cette instruction return n'est en fait pas exécutée.
‫D'accord, parce que tout ce que nous faisons à l'intérieur de ce bloc, ce bloc de code.
‫C'est dans cette partie que nous définissons la fonction, mais nous n'appelons jamais une autre fonction.
‫Cela ne renvoie donc aucun.
‫Et nous avons perdu la capacité de bien, d'appeler cette fonction.
‫Alors, comment pouvons-nous résoudre cela?
‫Une façon est de revenir, n'est-ce pas ?
‫Donc à la fin ici, nous devons nous assurer que l'indentation est correcte et nous allons retourner une autre
‫fonction.
‫Ajoutons donc return et voyons ce qui se passe ici.
‫Si je clique, cours.
‫Très bien, j'obtiens cette fonction maintenant, donc le total va être égal à cette fonction que nous avons renvoyée et elle est
‫en mémoire.
‫OK, mais je n'obtiens pas le résultat que je veux, n'est-ce pas ?
‫Et pourquoi est-ce que?
‫Parce que même si nous n'appelons pas cette fonction, nous pouvons le faire de plusieurs manières.
‫Nous pouvons soit lui donner les paramètres ou les arguments ici.
‫Alors disons 10, 20.
‫Et si je clique, cours.
‫J'en ai 30 ou si nous voulons garder tout ce que nous lui donnons ici, je peux simplement dire un autre funk.
‫Donc, si nous lui donnons le numéro un et le numéro deux et que je clique sur exécuter.
‫Hé, regarde ça, j'en ai 30.
‫Maintenant, cette vidéo, vous devrez peut-être la regarder encore et encore, car elle vous étire un peu
‫l'esprit, et pour être honnête, cette fonction n'est pas très bonne parce que c'est bien, c'est très déroutant.
‫Votre fonction doit être facile à comprendre.
‫Nous pourrions donc vouloir changer cela un peu, peut-être au lieu d'avoir les mêmes noms de paramètres juste pour
‫le clarifier.
‫Peut-être pouvons-nous dire et un et et deux.
‫Et puis nous le faisons.
‫Et un plus et deux pour clarifier que lorsque nous renvoyons cette autre fonction, j'utilise les paramètres, numéro un et numéro deux
‫que nous avons appelés ici.
‫Parce que cette définition d'une fonction ne se soucie pas vraiment de ce que sont ces choses.
‫Cela ne se soucie que lorsqu'une autre fonction est appelée.
‫Maintenant, si vous avez besoin de mettre la vidéo en pause et de regarder cela et peut-être de vous entraîner un peu,
‫c'est tout à fait compréhensible.
‫Mais je voulais te montrer le pouvoir du retour.
‫Vous pouvez avoir des fonctions imbriquées comme vous le feriez avec des conditions, mais vous devez faire attention
‫à ce que votre fonction renvoie quelque chose, sinon elle ne renverra rien.
‫Et la plupart du temps, vous voudrez retourner quelque chose à partir d'une fonction afin que nous puissions faire quelque chose
‫comme ceci où nous l'affectons à une variable afin que nous puissions l'utiliser plus tard dans nos programmes.
‫Je te verrai au prochain par.
‫Une dernière chose, un mot clé de retour sort automatiquement de la fonction de sorte qu'ici, si j'ajoute un autre
‫morceau de code comme print, bonjour ?
‫Ou peut-être même avoir un retour cinq ici, vous voyez que c'est toujours valable, mais si je lance ça.
‫J'obtiens toujours 30 parce que l'interprète n'arrive jamais aux lignes cinq et six, parce que dès que nous
‫retournons quelque chose d'une fonction, il quitte cette fonction.
‫Et la raison pour laquelle cette partie ne quitte pas la fonction est que, rappelez-vous, à l'intérieur de cette fonction,
‫nous définissons.
‫Donc, nous n'exécutons pas réellement cette partie.
‫Nous disons simplement, hé, quand nous voyons une autre fonction apparaître dans notre code, nous savons ce que c'est,
‫mais nous n'allons pas l'exécuter.
‫Donc ça va ressembler à ça.
‫Et dès qu'il voit l'instruction return, quand il fait froid, il va dire,
‫d'accord, je sors de cette fonction avec cette valeur.
‫Juste un peu de tête.