Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie globale Variablen in Python, wo keine globalen Variablen erstellt werden

So verwenden Sie globale Variablen in Python, wo keine globalen Variablen erstellt werden

silencement
silencementOriginal
2019-05-27 17:29:283276Durchsuche

So verwenden Sie globale Variablen in Python, wo keine globalen Variablen erstellt werden

Wenn in Python auf eine Variable verwiesen wird, besteht die Suche nach dieser Variablen darin, den lokalen Bereich (lokal), den verschachtelten Bereich (einschließende Funktionslokale) und den globalen Bereich (global) zu finden. , eingebauter Bereich (Builtins-Modul) in der Reihenfolge, die sogenannten LEGB-Regeln. Das heißt, die Reihenfolge, in der Python auf Variablen verweist: lokale Variablen des aktuellen Bereichs -> Variablen des äußeren Bereichs -> globale Variablen im aktuellen Modul -> integrierte Python-Variablen.

Bei der Zuweisung eines Werts zu einer Variablen innerhalb einer Funktion werden jedoch nicht die oben genannten LEGB-Regeln befolgt, um zuerst die Variable zu finden und ihr dann einen Wert zuzuweisen. In Python gilt beim Zuweisen eines Werts zu einer Variablen in einer Funktion die folgende Regel: „Beim Zuweisen eines Werts zu einem Variablennamen in einer Funktion (anstatt darauf in einem Ausdruck zu verweisen) erstellt oder ändert Python immer den Variablennamen.“ des lokalen Gültigkeitsbereichs, es sei denn, sie wurde in dieser Funktion als globale Variable deklariert Wird verwendet, um globale Variablen in Funktionen oder anderen lokalen Bereichen zu verwenden.

gcount = 0   #定义了一个全局变量,(可以省略global关键字)
 
def global_test():
    print (gcount)    #不修改,只是引用全局变量,不使用global关键字
    
def global_counter():
    global gcount    
    gcount +=1       #修改全局变量,需要使用global关键字
    return gcount

Ausgabe

1
2

3

Bei Verwendung wird ein nicht lokales Schlüsselwort verwendet äußere (nicht globale) Variablen in Funktionen oder anderen Bereichen.

def make_counter(): 
    count = 0     #定义一个局部变量,该局部变量作用范围在make_counter()方法内
    def counter(): 
        nonlocal count   #在方法counter()中使用外层局部变量 count 
        count += 1 
        return count 
    return counter 
       
def make_counter_test(): 
  mc = make_counter() 
  print(mc())
  print(mc())
  print(mc())
 
make_counter_test()

Ausgabe

3

Das obige ist der detaillierte Inhalt vonSo verwenden Sie globale Variablen in Python, wo keine globalen Variablen erstellt werden. 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