‫Très bien, jouons à un petit jeu, pouvez-vous deviner quelle sera la sortie de ce programme ?
‫J'ai ici est égal à un.
‫Ensuite, nous créons une fonction appelée confusion où nous avons un égal à cinq et nous retournons une ma question est, lorsque nous
‫imprimons A et lorsque nous imprimons confusion, que vous attendez-vous à ce qu'il se passe ici ?
‫Prenez une seconde pour déterminer si vous en avez besoin, et découvrons-le.
‫Un sur cinq.
‫C'est ce que vous attendiez ?
‫Allons ligne par ligne.
‫Tout d'abord, nous attribuons la valeur un à la variable A, nous créons ensuite une fonction appelée confusion et l'interpréteur Python va dire, d'accord, fonction
‫de confusion, je sais ce que c'est.
‫Je vais le mettre en mémoire.
‫Lorsque vous avez besoin de m'utiliser, faites-le moi savoir.
‫Et puis ça va aller à la ligne huit et la ligne huit va dire, hé, imprimez un qu'est-ce qu'un ..
‫Eh bien, la seule fois où j'ai vu A, c'est ici, un égal.
‫Donc pour me souvenir ce que dire équivaut à un.
‫Mais alors, quand je lance une confusion comme celle-ci.
‫Je vais dire, hé, A va être égal à cinq et maintenant nous revenons, ce qui est cinq.
‫OK, et si je change l'ordre de ça ?
‫Et si j'y allais comme ça ?
‫Que va-t-il se passer ?
‫Si je clique, cours.
‫C'est ce que vous attendiez ?
‫Encore une fois, nous en avons une proche, puis nous définissons la fonction puis nous imprimons la confusion.
‫Maintenant, la confusion ici va attribuer un égal à cinq, puis retourner A, mais pourquoi cela n'a-t-il pas changé ?
‫Pourquoi A est-il toujours égal à un au moment où nous arrivons ici ?
‫Et c'est à cause de la portée, non?
‫Ce que fait l'interpréteur Python, c'est quand il exécute la fonction de confusion, il va dire, hé, A va
‫être égal à cinq, mais je crée ici une variable appelée A dans mon propre univers.
‫Je ne sais rien sur un égal ici.
‫J'ai mon propre univers et après avoir exécuté cette fonction, eh bien, nous avons terminé.
‫Nous avons renvoyé la fonction et elle a complètement disparu.
‫Mais nous n'avons jamais laissé l'univers dans la portée globale.
‫Il y a donc un ensemble de règles que l'interpréteur Python suit pour vérifier une variable et les règles sont les
‫suivantes.
‫Tout d'abord, il va vérifier auprès du local.
‫Commencez donc par local et ce que nous appelons une portée locale.
‫Une étendue locale est une étendue qui fait partie de cette fonction locale.
‫Donc A est une portée locale.
‫Ça va vérifier là-bas.
‫Hé, je connais la variable ?
‫A Eh bien, ouais.
‫Quand je retourne A, j'ai une variable définie ici, donc ça commence là.
‫Mais disons qu'il n'y en avait pas.
‫Disons que je supprime et que je clique sur exécuter ici.
‫Je reçois les deux une fois, car la deuxième règle est que s'il n'y a rien dans la variable locale ou la portée
‫locale, alors numéro deux, y a-t-il une école locale parente ?
‫Dans notre cas, quel est le parent du dysfonctionnement ?
‫Eh bien, c'est la portée globale, mais nous pouvons aussi faire une autre fonction.
‫Disons que parent et parent est un parent de la fonction de confusion.
‫Et ici, disons que a égale deux 10.
‫Maintenant, ici, nous reviendrons.
‫Confusion juste pour que nous puissions l'utiliser à nouveau et l'exécuter.
‫Alors appelons parent.
‫Et cliquez sur exécuter.
‫Très bien, allons-y pour que ce ne soit pas trop déroutant.
‫Nous avons leur fonction parent qui est appelée.
‫Ainsi, lorsque nous appelons cela, nous attribuons un égal à dix, puis nous créons également une nouvelle fonction, la confusion.
‫Et puis finalement, nous renvoyons la confusion et l'exécutons réellement.
‫Nous allons donc retourner A, puis imprimer ici quelle que soit la valeur de A, qui est 10.
‫Et pourquoi est-ce que?
‫Eh bien, parce que nous commençons d'abord par la portée locale.
‫Hé, cette confusion, tu sais ce qu'est A ?
‫Non, je ne l'ai pas dans ma portée locale, OK, ma portée locale parent l'a-t-elle ?
‫Donc ça va monter d'un niveau et dire, hé, est-ce que les parents fonctionnent de nos jours ?
‫Oui, j'en ai près de 10.
‫Il va donc imprimer que la troisième règle ou le troisième ordre est global.
‫Et global est ce que nous appelons l'indentation de rien, c'est ce fichier, n'est-ce pas, quel que soit le fichier qui est global dans notre
‫cas, si A égal à dix n'existe pas ici, il n'y a pas de local, il n'y a pas de parent
‫local.
‫Et je clique sur exécuter.
‫Il vérifie la portée globale.
‫Et puis enfin, il y a une autre règle, et c'est le numéro quatre, et c'est délicat,
‫et c'est ce que nous appelons construit en Python.
‫Ou des fonctions python intégrées.
‫Python est donc livré avec des fonctions prédéfinies telles que celles dont nous avons déjà parlé.
‫Cela, disons, donnez-lui juste cinq.
‫Va vérifier ou en fait ne lui donnons rien, faisons-en juste ici.
‫Quand je lance ça.
‫Je suis construit en fonction certains.
‫Maintenant, comment savait-il ce que c'était, quelle était cette variable à la fin de la journée ?
‫Eh bien, c'est parce qu'il a dit, hé, est-ce que j'en ai à l'intérieur de cet univers ?
‫Non, je ne le fais pas.
‫OK, est-ce que j'en ai dans mon périmètre parent ?
‫Non, je ne le fais pas.
‫OK, j'ai une somme en global ?
‫Non, il n'y a rien ici.
‫Et puis la dernière chose qu'il va vérifier est, hé, une sorte de fonction python intégrée.
‫Ouais.
‫Python nous en donne en fait pour que vous puissiez l'utiliser pour qu'il ne se diffuse pas.
‫Et ce sont les règles de portée que l'interpréteur Python tombe très, très cool.
‫Il y a encore quelques autres choses que nous devons apprendre.
‫Alors je vous retrouve dans la prochaine vidéo.