Das folgende Skript funktioniert gut, bis ich in "Def Test" hinzugefügt habe, versuche ich alle globalen Variablen meine Programmierung im Allgemeinen loszuwerden und wie ich kein großer Programmierer bin Ich hoffe, es gibt einen Weg, dies zu tun.Übergabe der Datenmitte-Funktion zurück zur Funktion Python
Ich möchte "foo" von Funktion "Test" zurück zu Funktion "Arbeit" übergeben, aber dies funktioniert nicht als seine keine globale Variable. Irgendwelche Ideen?
bar = "bar"
barnone = "barnone"
def function_A():
data = 5
data1 = 15
if host == 1:
work(data, data1)
else:
function_B()
def function_B():
data = 3
data1 = 13
work(data, data1)
test(data)
print foo
def work(data,data1):
print data
print data1
test(data)
print foo
def test(data):
if data == 3:foo = bar
elif data == 5:foo = barnone
if __name__ == '__main__':
host = 11
function_A()
EDIT:
Danke, das funktioniert ... ich all das Feedback zu schätzen wissen, da ich ein Neuling bin, denken Sie daran, dies ist nur ein Testskript war ich zusammen Gabe von Parametern zu verstehen, setzen zu verschiedenen Funktionen. Davor habe ich Globals benutzt und versuche sie loszuwerden.
Vielen Dank, jeder Hinweis ist hilfreich.
bar = "bar"
barnone = "barnone"
def function_A():
data = 5
data1 = 15
if host == 1:
work(data, data1)
else:
function_B()
def function_B():
data = 3
data1 = 13
work(data, data1)
test(data)
def work(data,data1):
print data
print data1
test(data)
print test(data)
def test(data):
if data == 3:foo = bar
elif data == 5:foo = barnone
return foo
if __name__ == '__main__':
host = 11
function_A()
Vielleicht ein Python-Tutorial wird die Dinge für Sie klären. Ihr Code hat so viele Probleme, dass es schwierig ist, sie überhaupt zu beschreiben. https://docs.python.org/3/tutorial/ – wroniasty