In meiner Python-Funktion möchte ich (lesen, abfragen (if-Anweisung prüfen) und dann andere Anweisungen ausführen) auf eine globale Variable innerhalb einer Funktion. Dazu muss ich innerhalb der Funktion die Variable als global deklarieren. Ich möchte die Funktion eine Variable übergeben dann verwenden Sie die übergebene Variable, um die richtige globale Variable als global zu deklarieren.Globale Variablen deklarieren von übergebenen Variablen innerhalb einer Funktion in Python
current_data_list = []
current_data_list_length = len(current_data_list)
#the list is filled with each line from a file
def listtousable(listname):
local_list_name = listname
local_list_length = local_list_name + "_length"
global local_list_name
global local_list_length
if local_list_name[0] == "firstlinevariable":
local_list_length = len(local_list_name)
print local_list_length
else:
print "wtf"
#fill into list
listtousable("current_data_list")
Jede Hilfe wäre sehr geschätzt :)
Globals sind in der Regel eine schlechte Idee - sie machen es schwieriger, Fehler in Ihrem Programm zu lokalisieren. Können Sie beschreiben, was Sie damit eigentlich erreichen wollen? Es gibt fast sicher einen besseren Weg, es zu tun. –
Ich benutze globale Variablen, um einen globalen Zustand zu erhalten, in dem das Programm ist und als temporäre Speicherdaten, um dann in die korrekte Textdatei (bekannt aus dem Zustand) zu schreiben, sobald dies erledigt ist. – thedragonmaster