Ich möchte eine Variable erstellen, die bei jeder Abfrage einen anderen Wert zurückgibt. DieseWie erstellt man eine dynamische Variable?
ist das, was ich bisher:
import datetime
def getVal():
return datetime.datetime.now().time()
TMP_VAR = lambda: getVal()
for a in range(0,10):
print TMP_VAR()
Dies funktioniert und ich:
13:06:41.799504
13:06:41.800129
13:06:41.800139
13:06:41.800145
13:06:41.800161
13:06:41.800167
13:06:41.800173
13:06:41.800179
13:06:41.800184
13:06:41.800190
Wie auch immer, TMP_VAR
ist jetzt eine Funktion. Gibt es eine Möglichkeit, dies auf die folgende Weise funktionieren zu lassen?
print TMP_VAR
Effektiv, mit einer aufrufbaren Funktion verknüpft mit einer Variablen. Jedes Mal, wenn ich meine TMP_VAR
in eine andere Funktion übergebe, wertet sie als Argument immer neu aus und hält zufällig einen neuen Wert (was auch immer die getVal()
Funktion in diesem Moment zurückgibt).
Es scheint, als gäbe es keine einfache Lösung für das Problem. Die Verwendung von 'TMP_VAR()' anstelle von 'TMP_VAR' scheint eine bessere Lösung zu sein, als einen' Klassen'-basierten Ansatz implementieren zu müssen. – symbolix