Content de te revoir.
Essayons de répondre à quelques questions que vous pourriez avoir, par exemple, qu'en est-il des paramètres ?
Si je paramètre, disons être ici, quel est ce paramètre quand j'utilise B comme ça ?
Alors disons imprimer.
B et ici, je vais créer une confusion avec, disons, le nombre trois cents si je lance ceci.
Cela marche.
Et c'est parce que le paramètre fait partie de la portée locale, c'est-à-dire qu'il en fait partie.
Les paramètres sont donc considérés comme des variables locales.
Nous pouvons l'utiliser à l'intérieur de la fonction, mais nous pouvons l'utiliser en dehors de ces fonctions.
Techniquement, lorsque nous définissons la fonction, nous informons l'interpréteur, hé, B va être une variable
locale.
D'accord, qu'en est-il de cela ?
Et si on avait ça, hein ?
Mais je veux m'assurer à l'intérieur de ma fonction que je fais référence au global A, y a-t-il
un moyen pour nous d'utiliser simplement cette valeur sans créer de nouvelle variable ?
Eh bien, utilisons un meilleur exemple pour cela.
Disons que je voulais créer un compteur.
Nous aurons donc un total égal à zéro.
Et puis ici.
Je vais dire définir le nombre.
Et cette fonction va dire total.
Plus est égal à un.
Donc, nous allons ajouter à chaque fois que nous ajoutons le nombre, cela va incrémenter zéro par un, puis
un par un, ainsi de suite.
Nous allons donc retourner le total à la fin de cela.
OK, donc si je cours ici, imprimez.
Compter.
Voyons ce qui se passe.
Je vais courir.
Et j'obtiens un autre total de variable locale référencé avant l'affectation, et c'est parce que, eh bien, Count ne connaît pas
le total.
Vous essayez d'utiliser le total, mais nous n'avons encore rien attribué.
Mais nous voulons que le total du monde extérieur s'exécute, car si je le fais, le total est égal à zéro ici
et j'exécute le compte.
C'est super, j'en reçois un, mais que se passe-t-il si je voulais exécuter le compte plusieurs fois ?
Et si je voulais exécuter count ?
Disons trois fois pour que le total compte soit trois.
Imprimons donc le dernier ici.
Et je clique sur exécuter.
J'en reçois toujours un car chaque fois que nous exécutons la fonction, nous remettons le total à zéro.
Ce n'est pas très utile, n'est-ce pas ?
Donc, une façon de résoudre ce problème est d'utiliser ce que nous appelons le mot-clé global en Python et global dit d'utiliser le total
global s'il existe ici, de sorte qu'au lieu d'avoir à créer une nouvelle variable, je puisse utiliser le
total de la variable globale.
Regarde ça.
Eh bien, j'obtiens une syntaxe invalide, et c'est parce que nous devons d'abord dire que le total global va être
utilisé ici, puis nous pouvons dire que total plus est égal à un si je lance ceci.
Un coup d'œil à cela, nous avons un compteur approprié, donc global est un moyen pour nous d'accéder à cette variable globale.
Cependant, je soutiens que ce n'est en fait pas une bonne façon de faire les choses car cela peut devenir vraiment déroutant
lorsque vous commencez à ajouter des Global et que tous ces différents univers accèdent aux variables les uns des autres, une meilleure
façon de le faire est ce qu'on appelle l'injection de dépendance, et il s'agit d'une version simplifiée de celui-ci.
Mais l'idée est qu'au lieu d'accéder à des variables en dehors de la fonction comme celle-ci, ce qui peut devenir vraiment, vraiment compliqué à
mesure que les fichiers deviennent de plus en plus gros, il faut le faire.
Au lieu de cela.
Le total.
Comme ça, on crée un paramètre puis on passe ce paramètre.
Ou argumenter ici.
Mais comme vous pouvez le voir, c'en est toujours un car au moment où nous imprimons le troisième total, eh bien, cela ne change
jamais.
C'est un zéro global.
Donc, à la place, nous pouvons faire quelque chose comme ça, nous pouvons dire compter le total, dont nous allons
recompter.
Et puis compter à nouveau.
Si je lance ça.
J'en ai trois et je sais ce que vous pensez, c'est complètement fou, ça a l'air déroutant.
Regardez toutes ces parenthèses.
Mais laissez-moi vous montrer ce que nous avons réellement fait.
Nous sommes capables de détacher la dépendance ou l'effet que cela ne peut pas avoir sur la portée globale extérieure et à la place
de nous concentrer uniquement sur sa santé.
Tout ce que nous avions à faire était de dire, hé, je veux que vous donniez un compte avec un total de zéro.
Et puis après cela, cela va évaluer deux un.
Et puis nous comptons un total de un plus un équivaudra à deux, puis compter deux plus un
équivaudra à trois.
De cette façon, nous pouvons toujours faire notre décompte sans avoir à utiliser ce mot-clé global, ce qui, à mon avis,
est plus agréable.
Attention, si c'est la première fois que vous voyez cela, cela peut devenir un peu délicat.
Mais au moins de cette façon, vous savez qu'il y a différentes façons de faire les choses.
Un autre mot que je veux vous montrer est quelque chose appelé non local.
Mais pour celui-là, faisons une pause et je vous retrouve dans la prochaine vidéo.