Python 9.4 : Callbacks et lambdas
Nous continuez et ici nous allons voir les fonctions Callback et les fonctions Lambda Nous allons commencer par les fonctions callback, je vais créer une variable a égal à 4 ici en haut je vais créer une fonction def fonction parenthèse deux points À l'intérieur je vais faire un print Bonjour Et je vais retourner 2 Je veux appeler ma fonction je lance mon code vous voyez que nous avons bien bonjour maintenant je vais faire un print deux côtes a égal a b égal Si je mets Je vais faire b égal à la fonction je vais lancer mon code vous voyez on a Bonjour et on a égal à 4 b égal à deux de return Et si je retire les parenthèses comme ceci Et que je relance mon code Vous allez voir que en b on va nous signalez que c'est une fonction Je lance vous allez voir On a bien la valeur a égal 4 b on dit c'est une fonction donc on a juste la fonction avec l'identité de la fonction Maintenant si ici Au niveau de B je mets les parenthèses je lance mon code vous voyez que ça fonctionne normalement comme au depart donc donc c'est ça qu'on appelle fonctions callback Je vais commenter ceci et nous allons voir les fonctions callbock Nous allons commencer par créer une fonction de multiplication Table de multiplication comme nous l'avons fait plus haut table qui prend en paramètres n deux points À l'intérieur je vais faire une boucle for i in range parenthèse 1 , 10 que le 1 est inclusive et le 10 est exclusif donc ça va afficher une table de multiplication de 1 à 9 Et après je vais faire un print Parenthèse étoile pour la multiplication n Et je vais faire une virgule deux côtes égal fois n Et je vais appeler la Fonction 4 je lance mon code vous voyez que notre table fonctionne normalement Imaginons si nous faisons maintenant une table d'addition Je vais copier ce code je colle Et ici je vais mettre addition Ça va être un plus je vais appeler la fonction je mets un print pour separer les deux et j'appelle la fonction table 4 je lance mon code On a bien la table de multiplication et apprendre la table d'addition donc notre code fonctionne quand nous regardons nos deux fonctions Il n'y a pas trop de différence entre les deux mise à part les signes l'autre c'est plus et l'autre fois Et maintenant si on faisait plutôt une fonction générique ? donc je vais Je vais recopier ceci Et ici je vais mettre tableau affiche Je vais laisser le n Et à l'intérieur Je vais mettre le signe str Je vais metre l'opérateur callback et dans le print nous aurons ici Le signe str signe str ici le n et ici on va avoir plutôt l'opérateur callback qui prend en paramètres le i n nous allons créer maintenant une fonction ici je vais metre def multiplication tiret callback parenthèse deux points qui retourne a fois b J'ai oublié les paramètres et qui prend un paramètre a virgule b bon nous allons d'abord tester la multiplication Et après on va rajouter l'addition donc je vais commenter Je veux appeler la fonction table affiche et ça va prendre en paramètre 4 comme valeur le signe J'appelle la fonction multi callback je vais supprimer les parenthèses parce que ça ne prend rien en paramètre Je lance mon code Nous avons bien nourris table de multiplication qui s'affiche si je fais de même pour l'addition Je vais juste copier ceci je vais coller ici en bas Mais si je vais appeler add ici je copie ceci je colle en bas add et je relance mon code ici nous avons toujour la table de multiplication donc à ce niveau je vais plutôt faire un plus je relance vous voyez que notre code fonctionne normalement On a bien nos 2 tables Addition et multiplication ce qui veut dire que ces deux fonctions on peut les supprimer comme ceci, je supprime les appels, et maintenant avec la fonction table affiche on peut aussi faire une autre fonction puissance ici je vais mettre def que j'appele puissance callback à l'intérieur je mets a virgule b deux points ça return un pow pow parenthèses a virgule b C'est comme ça qu'on fait les puissances en python vous pouvez partir taper sur Google les fonctions puissances en python et vous aurez plus de detail comme ceci je relance vous voyez on a bien notre fonction puissance, on a notre fonction addition et notre fonction multiplication tout fonctionne normalement maintenant quand on regarde notre code nous voyons qu'on a plusieurs fois returns dans les différentes fonctions il y'a le return Maintenant est-ce que nous pouvons pas plus simplifier notre code. C'est bien la question qu'on se pose. Et c'est à ce moment que les fonction lambda interviennent nous allons supprimer ceci je vais commencer par la fonction multiplication nous allons mettre lambda voila et je vais mettre a virgule b deux points a multiplier par b je commente ceci je lance mon code vous voyez que nous avons bien la table de multiplication. si je fais pour l'addition je vais copier ceci, je remplace ici a la place je mets plus je lance mon code nous avons la multiplication et l'addition correcte je fais de même pour la puissance et ici a la place je pow parenthèse a virgule b comme ceci je lance mon code Voyez notre fonction puissance marche correctement notre fonction addition et notre fonction multiplication. donc ces fonctions sont la pour nous aider et à rendre le code plus syntrone. Et generalement elles sont utilisés sur les sites et les applications pour permettre qu'on execute le code pendant qu'on faire un telechargement des fichiers. Bon c'etait tout pour cette video et on se dit a la prochaine concernant les nombres variables des paramètres.