2016-03-23 7 views
0

Aufruf Ich bin sicher, dies ist sehr einfach, aber ich versuche, eine globale Variable zu manipulieren ich in Funktion von einem anderen Skript erstellt habe, die Funktion aufgerufen wird, wie folgt:eine globale Variable in einer Funktion in einem Programm von einer anderen

Script 1:

def function_1(): 

    global myvar 
    myvar = 1 

Script 2:

from script1 import function_1 

function_1() 

myvar2 = myvar + 1 
print myvar2 

Ich weiß nicht, warum das nicht funktioniert. Ich war nicht in der Lage, die genaue Antwort zu finden, die ich auf Stack Overflow oder anderswo brauche. Kann jemand helfen?

Dank

+0

Sie rufen nicht tatsächlich die 'function_1()' und Sie müssen 'myvar' vor dem Aufruf initialisieren. – AChampion

+0

Hallo, danke für die Antwort. Die nichtaufrufende Funktion_1 war ein Tippfehler, den ich jetzt geändert habe. Könntest du bitte erklären, was du meinst, indem du myvar nicht initialisierst? – gdogg371

Antwort

1

Globale Variablen betreffen nur das Modul, in dem sie definiert sind. Um darauf zuzugreifen, müssen Sie das Modul-Objekt:

#Script2 

import script1 

script1.function_1() 
myvar2 = script1.myvar + 1 
+0

das hat gut funktioniert. Danke vielmals. – gdogg371

Verwandte Themen