Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie globale Variablen in Python

So verwenden Sie globale Variablen in Python

coldplay.xixi
coldplay.xixiOriginal
2020-09-11 14:18:4033330Durchsuche

Verwendung globaler Python-Variablen: 1. Um auf die globale Variable zu verweisen, lautet der Code: [if i in b:print("%d in list b" %i)] 2. Um die globale Variable zu ändern, lautet der Code [print „before func b :“, b].

So verwenden Sie globale Variablen in Python

Verwendung von globalen Python-Variablen:

1. Referenz

Die verwendete globale Variable dient nur als Referenz. Wenn ihr Wert in der Funktion nicht geändert wird, besteht keine Notwendigkeit, sie hinzuzufügen globales Schlüsselwort. Zum Beispiel:

#! /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()

Ausgabeergebnis:

So verwenden Sie globale Variablen in Python

Es ist ersichtlich, dass sowohl Listen als auch Variablen direkt in Anführungszeichen gesetzt werden können.

2. Ändern Sie die von

verwendeten globalen Variablen. Wenn sie in der Funktion geändert werden müssen, führt dies zu Mehrdeutigkeitsproblemen, wie zum Beispiel:

#! /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

Ausgabeergebnis:

So verwenden Sie globale Variablen in Python

Das ist ersichtlich Für die Variable a besteht in „a = 2“ in der Funktion func die Mehrdeutigkeit, entweder auf die globale Variable a zu verweisen oder eine neue lokale Variable zu erstellen. Daher gibt Python standardmäßig an, eine neue lokale Variable zu erstellen, um diese Mehrdeutigkeit zu beseitigen, aber für Listen Für b weist „b[0] = 1“ diese Mehrdeutigkeit nicht auf.

Die globale Variable wird also direkt geändert, aber wenn sie in „b = [3, 4]“ geändert wird, wird b auch zu einer lokalen Variablen. Insbesondere wenn die Anweisung „if a == 1:“ vor a = 2 in func eingefügt wird, wird das Skript falsch ausgeführt, da diese Anweisung eine globale Variable einführt, was dazu führt, dass die Anweisung „a = 1“ keine Variable erstellen kann mit demselben Namen.

Daher müssen Sie die globale Variable a ändern. Sie können die globale a-Anweisung vor „a = 2“ hinzufügen, z. B.:

#! /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

Ausgabeergebnis:

So verwenden Sie globale Variablen in Python

Schlussfolgerung: Referenzieren Sie die globale Variable, kein Global Wenn eine Deklaration erforderlich ist, ändern Sie die globale Variable. Sie müssen eine globale Anweisung verwenden. Insbesondere wenn Sie nur die Werte von Elementen in Listen, Wörterbüchern usw. ändern, können Sie globale Variablen direkt ohne globale Anweisung verwenden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie globale Variablen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn