Seite 1 von 1

Anfängerfrage

Verfasst: Dienstag 6. Juli 2010, 12:41
von Yuzuke
Hallo,

ich habe eine Funktion test(x,y), bei der x und y natürlich Werte wie 15,18 und 22 annehmen können. Nun habe ich eine Reihe von Klasseninstanzen, die ich mit 1,2,3,4,5,6....30 so durchnummeriere. Wie kann ich nun innerhalb der Funktion test mit x und y auf die Klassen zugreifen? Mit x.KLASSENWERT geht es ja schlecht, dann sucht er nach einer Instant, die x heißt, ich will aber, dass er den Wert von x nimmt und dann die entsprechende Instanz ansteuert.

Genau andersherum habe ich das Problem, dass

Code: Alles auswählen

for i in range(10):
    i = MyClass()
natürlich nicht geht. Auch möchte ich ich dann bitteschön die Werte von i und nicht i selber haben.

Vielen Dank. :)

Re: Anfängerfrage

Verfasst: Dienstag 6. Juli 2010, 12:46
von BlackJack
@Yuzuke: Was heisst Du nummerierst Instanzen!? Hoffentlich nicht dass Du denen Namen mit einer angehängten Nummer gibst!? Dafür wurde Listen erfunden. Die wären auch die Lösung zu Deinem Problem.

Re: Anfängerfrage

Verfasst: Dienstag 6. Juli 2010, 12:49
von Dav1d
Ich versteh nicht wirklich was du meinst, aber vllt. hilft dir das:

Code: Alles auswählen

foo = [MyClass() for i in range(10)]
foo[3].bar()

Re: Anfängerfrage

Verfasst: Mittwoch 7. Juli 2010, 17:01
von Yuzuke
BlackJack hat geschrieben:@Yuzuke: Was heisst Du nummerierst Instanzen!? Hoffentlich nicht dass Du denen Namen mit einer angehängten Nummer gibst!? Dafür wurde Listen erfunden. Die wären auch die Lösung zu Deinem Problem.
Ah, ok. Danke funktioniert jetzt. Ich bin leider nun mal Anfänger. Und damit ich nicht alles mit neuen Threads vollpflastere stelle ich hier direkt meine nächste Frage.

if self.Liste.Variable not in Liste:
pass

Hierbei meldet man mir "TypeError: list indices must be integers, not type", wenn ich danach Google, finde ich nur Sachen, die mir irgendwie nicht helfen. Das das Integer sein sollten, ist mir schon klar, sind es auch. Was soll ich da machen?

Re: Anfängerfrage

Verfasst: Mittwoch 7. Juli 2010, 17:48
von cofi
Na scheinbar sind deine `i`s eben keine Integers.

Code: Alles auswählen

type(i)
verraet dir, was es denn ist.