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 là-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, non?
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.