Hallo es Entwickler,globales Variable nicht funktioniert Python
i Code schreibt, dass die Benutzereingabe und initialisiert eine Klasse am Eingang unten wie im Beispielcode in Abhängigkeit nimmt:
class X:
def __init__(self):
return
def run(self):
print("i am X")
def func1(cls):
exec("global " + cls.lower())
exec(cls.lower() + " = " + cls + "()")
def func2(mode_to_set):
exec(mode_to_set.lower() + ".run()")
aber wie ich führen Sie den Code wie folgt:
ich diese Fehlermeldung erhalte:
Traceback (most recent call last):
File "/Users/noahchalifour/Desktop/test.py", line 16, in <module>
func2('X')
File "/Users/noahchalifour/Desktop/test.py", line 13, in func2
exec(mode_to_set.lower() + ".run()")
File "<string>", line 1, in <module>
NameError: name 'x' is not defined
Kann mir jemand helfen?
Die Variable muss bereits im globalen Gültigkeitsbereich vorhanden sein. Auch das ist eine schreckliche Idee. Außerdem versuchen Sie, eine Instanz von "x" zu erstellen, aber Ihre Klasse heißt "X". –
Warum ist es so schlimm? @MorganThrapp –
Mögliches Duplikat von [Wie erstelle ich eine variable Anzahl von Variablen in Python?] (Http://stackoverflow.com/questions/1373164/how-do-i-create-a-variable-number-of-variables -in-python) –