Ich habe eine Klasse, die verschiedene Werte (IP-Adresse, Name, Modell usw.) übergibt, wenn ich die Klasse definiere.Aufruf der Klassenfunktion mit einer Liste von Klassenobjekten Python
Gleichzeitig lege ich diese Klassen in eine Liste, so dass ich die Anzahl der Geräte leicht erweitern kann. Ich möchte in der Lage sein, eine separate Funktion von der Klasse aufzurufen.
Zum Beispiel
Meine Klasse sieht ein wenig wie
class foo:
def __init__(self, IP, Name, Model, Series):
#Do stuff
def getstate():
#Do more stuff and return a value
Meine Liste etwas sieht aus wie
Devices = {} #I fill this up with the list of all devices elseware
ClassDevices = []
for key in Devices:
print 'List is empty, store objects'
ClassDevices.append(Foo(Devices[key]["IP"], Devices[key], Devices[key]["Model"], Devices[key]["Series"]))
oben Das scheint zu funktionieren, aber jetzt möchte ich in der Lage sein, den Status zu erhalten von jedem Gerät. Ich habe versucht, die folgenden
print ClassDevices[0].getstate()
Und ich erhalte eine Fehlermeldung
TypeError: object cannot be interpreted as an index
ich Python neu bin so bin ich nicht einmal sicher, ob das, was ich versuche möglich zu tun ist
Voll Code (da es wahrscheinlich einfacher ist) kann gesehen werden here
'foo' oder 'foo'? –
Ich glaube nicht, dass Sie das ganze Bild zeigen, etwas fehlt hier. Kannst du den ganzen Code einfügen? – bosnjak
full stacktrace please.' [0] 'kann das nicht tun. –