2016-06-02 22 views
0

Ich versuche, einen einfachen Code zu schreiben, der eine globale Variable verwendet. Ich bin den folgenden Fehler bekommenSo verwenden Sie globale Variable in Python

UnboundLocalError: local variable 'x' referenced before assignment

global x 

def update():  
    x = x + 1 

x = 0 
update() 
print(x) 

Antwort

0

Ihr Fehler ist aufgetreten, weil in der Funktion update, versuchen Sie eine Variable (x) zu bearbeiten, die nicht definiert ist, zumindest nicht vor Ort. Das global Schlüsselwort innerhalb der Funktion sein sollte, und daher sagen, dass die x Sie sprechen die man außerhalb der Funktion (also global definiert) definiert ist:

def update(): 
    global x 
    x = x + 1 

x = 0 
update() 
print(x) 

Dies würde Ausgang 1, wie erwartet.

Sie können einen Blick auf this gut detaillierte Antwort in Bezug auf die Verwendung des Schlüsselwortes global werfen.

+0

Es hat funktioniert, aber warum dieser Fehler auftritt. – Atinesh

+0

@Atinesh meine Antwort bearbeitet, um zusätzliche Informationen hinzuzufügen, sagen Sie mir, wenn es unklar bleibt. – 3kt