Ich habe eine Klasse namens Square. Ich versuche, Zeichenfolgen in Variablen zu konvertieren und jeden mit derselben Klasse zuzuweisen.Wie ordne ich dynamische Variablen mit der gleichen Klasse zu?
a = 'var'
exec("%s = %d" % (a,Square()))
Der obige Beispielcode wird nicht funktionieren, da der Fehler integer Platz zu verwenden, sagt nicht:
TypeError: %d format: a number is required, not Square
Was hat sich das% d in dieser Arbeit für geändert werden?
Warum Sie Variablen müssen an erster Stelle setzen? Verwenden Sie stattdessen ein Wörterbuch: 'namespace = {a: Square()}' legt einen Schlüssel ''var'' für die Instanz fest. –