Maison  >  Article  >  développement back-end  >  Comment utiliser la portée des variables en Python

Comment utiliser la portée des variables en Python

王林
王林avant
2023-05-12 15:01:061402parcourir

Préface

La portée d'une variable fait référence à la zone où le code du programme peut accéder à la variable. Si elle dépasse cette zone, une erreur se produira lors d'un nouvel accès. Dans les programmes, les variables sont généralement divisées en « variables globales » et « variables locales » en fonction de leur « portée valide ».

1. Variables locales

Les variables locales font référence aux variables définies et utilisées à l'intérieur de la fonction. Autrement dit, les noms à l'intérieur de la fonction ne seront créés que lorsque la fonction sera exécutée. Tous les noms n'existeront plus avant ou après l'exécution de la fonction. Par conséquent, si une variable définie à l'intérieur de la fonction est utilisée en dehors de la fonction, une exception NameError sera levée.

Par exemple, définissez une fonction nommée fonction, définissez une variable poème (appelée variable locale) à l'intérieur de la fonction, attribuez-lui une valeur, puis sortez la variable, et enfin sortez-la à nouveau en dehors de la fonction variable body poème, le code est le suivant :

def function():
    poem = '面朝大海,春暖花开'
    print('局部变量poem = ', poem)  # 输出局部变量的值
function()  # 调用函数
print('局部变量poem = ', poem)  # 在函数体外输出局部变量的值

L'exécution du code ci-dessus affichera l'exception comme indiqué dans la figure ci-dessous.

Comment utiliser la portée des variables en Python

2. Les variables globales

correspond aux variables locales. Les variables globales sont des variables qui peuvent agir à l'intérieur et à l'extérieur de la fonction. Les variables globales ont principalement les deux situations suivantes :

(1) Si une variable est définie en dehors de la fonction, elle est accessible non seulement en dehors de la fonction, mais également au sein de la fonction. Les variables définies en dehors du corps de la fonction sont des variables globales.

Par exemple, définissez une variable globale poème, puis définissez une fonction pour afficher la valeur de la variable globale poème dans la fonction. Le code est le suivant :

poem = '花有重开日,人无再少年'  # 全局变量
def function():
    print('函数体内:全局变量poem =', poem)  # 在函数体内输出全局变量的值
function()  # 调用函数
print('函数体外:全局变量poem =', poem)  # 在函数体外输出全局变量的值

. Exécutez le code ci-dessus, le contenu suivant sera affiché :

À l'intérieur de la fonction : Poème variable global = Les fleurs refleuriront et les gens ne seront plus jamais jeunes
En dehors du function: Variable globale poème = Les fleurs refleuriront , Plus personne n'est jeune

Explication: Quand la variable locale porte le même nom en tant que variable globale, après avoir attribué une valeur à la variable dans le corps de la fonction, n'affecte pas les variables en dehors de la fonction. C’est-à-dire que chacun bat son propre gong et chacun bat son propre tambour.

Par exemple, définissez une variable globale a en dehors du corps de la fonction et attribuez-lui une valeur de 100, et définissez une variable locale a à l'intérieur du corps de la fonction et attribuez-lui une valeur de 10. Le code est le suivant : #🎜🎜 #

a = 100  # 定义一个全局变量
def function():
    a = 10  # 定义局部变量
    print(a)  # 输出局部变量的值
function()  # 调用函数
print(a)  # 输出全局变量的值

Le résultat de l'exécution est le suivant :

10100

(2) Définissez-la dans le corps de la fonction et utilisez le mot-clé global. Après modification, la variable devient une variable globale. La variable est également accessible en dehors du corps de la fonction et peut être modifiée à l'intérieur du corps de la fonction.

Par exemple, définissez une variable dans le corps de la fonction et utilisez le mot-clé global pour la modifier. Le code est le suivant :

poem = '天若有情天亦老,人间正道是沧桑'  # 全局变量
print('函数体外:poem =', poem)  # 在函数体外输出全局变量的值
def function():
    global poem  # 将poem声明为全局变量
    poem = '人生得意须尽欢,莫使金樽空对月'  # 全局变量
    print('函数体内:poem =', poem)  # 在函数体内输出全局变量的值
function()  # 调用函数
print('函数体外:poem =', poem)  # 在函数体外输出全局变量的值

Exécutez le code ci-dessus, le contenu suivant sera affiché :

Fonction in vitro : poème = Si le paradis est sentimental, le ciel sera vieux, et le monde a raison. Ce sont les vicissitudes de la vie

Fonction à l'intérieur du corps : poème = Si tu es fier de la vie, tu dois avoir toute la joie, ne laisse pas la coupe d'or se vider pour la lune
Fonction hors du corps : poème = Si tu es fier de la vie, tu dois avoir toute la joie, ne laisse pas la coupe d'or se vider vers la lune

Comme le montrent les résultats ci-dessus, la variable globale modifiée par le mot-clé global peut modifier la valeur de la variable globale à l'intérieur du corps de la fonction.

Description : Bien que Python autorise les variables globales et les variables locales à avoir le même nom, il n'est pas recommandé de le faire dans le développement réel car cela peut facilement encombrer le code, il est difficile de distinguer quelles sont des variables globales et lesquelles sont des variables locales.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer