Ich versuche, eine Variable zur Laufzeit an eine bestimmte Liste innerhalb einer Klasse zu binden. Das folgende Snippet funktioniert, aber ich hätte gerne den Klassennamen im eval-Ausdruck anstelle der Variablen. das heißt das Äquivalent:python eval, um spezifische Klassenvariable zur Laufzeit anzusprechen
mybin = 'bin2'
eval(foo.mybin)
, die offensichtlich nicht funktionieren ... aber ich kann nicht die Syntax nach verschiedenen Inkarnationen zu versuchen, zu kleben „foo‘ und „mybin' zusammen scheinen, um herauszufinden.
class A:
bin1 = [3,6,9]
bin2 = [12,14,25]
foo = A()
mybin = 'foo.bin2'
for bin in eval(mybin):
print bin
Ausgänge:
12
14
25
Gefahren alter/andere Sprache Programmierung Gewohnheiten! Ich bin neu in Python und war noch nie zuvor auf getattr. Danke für den Tipp! –