Maison  >  Article  >  développement back-end  >  Comment utiliser des variables globales en python

Comment utiliser des variables globales en python

coldplay.xixi
coldplay.xixioriginal
2020-09-11 14:18:4033174parcourir

Utilisation des variables globales python : 1. Pour référencer la variable globale, le code est [if i in b:print("%d in list b" %i)]; , le code est [print "before func b:", b].

Comment utiliser des variables globales en python

Utilisation des variables globales python :

Citation

La variable globale utilisée n'est qu'une référence Si sa valeur n'est pas modifiée dans la fonction, il n'est pas nécessaire d'ajouter le mot clé global. Par exemple :

#! /usr/bin/python
a = 1
b = [2, 3]
def func():
    if a == 1:
        print("a: %d" %a)
    for i in range(4):
        if i in b:
            print("%d in list b" %i)
        else:
            print("%d not in list b" %i)
if __name__ == '__main__':
    func()

Résultat de sortie :

Comment utiliser des variables globales en python

On peut voir que les listes et les variables peuvent être citées directement.

2. Modifier les variables globales utilisées par

Si elles doivent être modifiées dans la fonction, cela entraînera des problèmes d'ambiguïté, tels que :

#! /usr/bin/python
a = 1
b = [2, 3]
def func():
    a = 2
    print "in func a:", a
    b[0] = 1
    print "in func b:", b
if __name__ == '__main__':
    print "before func a:", a
    print "before func b:", b
    func()
    print "after func a:", a
    print "after func b:", b
.

résultat de sortie :

Comment utiliser des variables globales en python

On peut voir que pour la variable a, "a = 2" dans la fonction func, car l'existence peut signifier référencer la variable globale a, ou créer one L'ambiguïté des nouvelles variables locales, donc python spécifie par défaut de créer une nouvelle variable locale pour éliminer cette ambiguïté, mais pour la liste b, "b[0] = 1" n'a pas cette ambiguïté.

Par conséquent, la variable globale est modifiée directement, mais si elle est changée en "b = [3, 4]", alors b deviendra également une variable locale. En particulier, lorsque l'instruction "if a == 1:" est ajoutée avant a = 2 dans func, le script ne s'exécute pas correctement car cette instruction introduit une variable globale, ce qui empêche l'instruction "a = 1" de créer une variable. avec le même nom.

Par conséquent, vous devez modifier la variable globale a. Vous pouvez ajouter l'instruction globale a avant "a = 2", telle que :

#! /usr/bin/python
a = 1
b = [2, 3]
def func():
    global a
    a = 2
    print "in func a:", a
    b[0] = 1
    print "in func b:", b
if __name__ == '__main__':
    print "before func a:", a
    print "before func b:", b
    func()
    print "after func a:", a
    print "after func b:", b

Résultat de sortie :

Comment utiliser des variables globales en python

Conclusion : Lors du référencement de variables globales, une déclaration globale n'est pas requise. Pour modifier une variable globale, une déclaration globale est requise En particulier, si vous modifiez uniquement les valeurs des éléments dans les listes. , dictionnaires, etc., vous pouvez utiliser directement des variables globales sans avoir besoin d'une déclaration globale.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn