Zuweisung dynamischer Variablennamen
Bei der Verwendung von tkinter müssen Variablen dynamisch generiert werden, wie z. B. das dynamische Generieren der Variablen var1...var10.
Verwendung von exec für dynamische Zuweisung
exec ist eine eingebaute Funktion in python3, die die dynamische Ausführung von Python-Code unterstützt.
Verwendung von exec für dynamische Zuweisung
exec ist eine eingebaute Funktion in python3, die die dynamische Ausführung von Python-Code unterstützt.
Beispiel
... exec('var{} = {}'.format(i, i))
...
>>> print(var0, var1, var2, var3 ,var4)
0 1 2 3 4
>>>
Dynamische Zuweisung unter Verwendung des Namespace
Im Namespace von Python werden Variablennamen und Werte in einem Dictionary gespeichert. Sie können die Funktionen locals() und globals() verwenden, um den lokalen bzw. den globalen Namespace zu erhalten.
Beispiel
>>> for i in range(5):
... names['n' + str(i) ] = i
...
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
>>>
Verwendung dynamischer Variablen in Klassen
Die Attribute von Python-Klassenobjekten werden in __dict__ gespeichert. __dict__ ist ein Dictionary, wobei die Schlüssel Attributnamen sind und die Werte den Attributwerten entsprechen.
Beispiel
0 1 2 3 4
>>> class Test_class(object):
... def __init__(self):
... names = self.__dict__
... for i in range(5):
... names['n' + str(i)] = i
...
>>> t = Test_class()
>>> print(t.n0, t.n1, t.n2, t.n3, t.n4)
0 1 2 3 4
Aufrufen dynamischer Variablen
Tatsächlich rufen wir Variablen bei sich wiederholenden Variablen im Allgemeinen nicht auf diese Weise auf, wie z. B.: var0, var1, var2, var3, var4....varN. Wir können die folgende Methode verwenden, um Variablen dynamisch aufzurufen.
Definieren Sie zunächst die folgenden Variablen:
Beispiel
... exec('var{} = {}'.format(i, i))
...
>>> print(var0, var1, var2, var3 ,var4)
0 1 2 3 4
Verwendung der exec-Funktion
Ähnlich können Sie exec verwenden, um Variablen aufzurufen
Beispiel
... exec('print(var{}, end=" ")'.format(i))
...
0 1 2 3 4
Verwendung von Namespace
Da sowohl locals() als auch globals() im Namespace ein Dictionary zurückgeben, verwenden Sie die get-Methode des Dictionary, um Variablenwerte zu erhalten.
Beispiel
>>> for i in range(5):
... print(names.get('var' + str(i)), end=' ')
...
0 1 2 3 4
Originaladresse: https://www.cnblogs.com/technologylife/p/9211324.html