⊗pyPmFnSN 4 of 129 menu

Subtilités de la gestion des portées en Python

Examinons les subtilités importantes du travail avec les variables locales et globales.

Supposons que nous ayons une variable globale num. Créons une fonction func qui affichera le num global dans la console :

num = 1 def func(): print(num) func() # affichera 1

Maintenant, déclarons une variable locale num sur la ligne suivant la fonction print. Après l'exécution du code, une erreur s'affichera dans la console. Cela se produit parce que Python, à l'intérieur de la fonction, perçoit num uniquement comme une variable locale qui n'a pas encore été déclarée :

num = 1 def func(): print(num) # affichera une erreur num = 2

Réécrivons maintenant le code à l'intérieur de la fonction de sorte que la valeur de la variable num augmente de 2 :

num = 1 def func(): num += 2 # affichera une erreur

L'erreur est causée par le fait que l'expression num += 2 représente l'écriture suivante :

num = num + 2

Cependant, la variable locale elle-même, à laquelle l'addition est effectuée, n'est pas encore déclarée. Et par conséquent, Python affiche une erreur, puisqu'il est impossible d'ajouter un nombre à une valeur inexistante.

Quel sera le résultat de l'exécution du code suivant :

tst = '12' def func(): tst = 12 return tst print(tst)

Quel sera le résultat de l'exécution du code suivant :

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

Quel sera le résultat de l'exécution du code suivant :

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser