for i in XYZ: welche Methoden muss XYZ haben?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
NoPy
User
Beiträge: 158
Registriert: Samstag 28. Dezember 2013, 12:39

gemäß Duck- Typing müsste ich doch eine Klasse schreiben können á la

Code: Alles auswählen

class LustigeElementsammlung(object):
  def __WasAuchImmer__(self,Parameterliste):
    ...

LustigeElemente = LustigeElementsammlung()
for i in LustigeElemente:
  i.x = 10
Steht so etwas irgendwo? Oder auch Klassen, die wie ein Dictionary oder ein Array benutzt werden können.

NoPy
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Sowas steht in der Dokumentation.
BlackJack

@NoPy: Da gibt's mehere Möglichkeiten. Eine `__iter__()`-Methode die einen Iterator/Generator liefert, oder eine `__getitem__()`-Methode die Schlüssel von 0 an aufwärts nimmt und bei einem zu grossen Index eine `IndexError`-Ausnahme auslöst.

Für Abbildungen zum Beispiel `__getitem__()` und halt alles andere was man an Operationen unterstützen möchte. Diese ”magischen” Methoden stehen alle in der Python-Dokumentation.
Benutzeravatar
NoPy
User
Beiträge: 158
Registriert: Samstag 28. Dezember 2013, 12:39

Danke, ihr beiden. Dass es __irgendwo__ in der python- Dokumentation stehen muss, wusste ich schon, ich hatte es auch schon mal am Wickel. Aber ich konnte mich nicht mehr erinnern, wo genau ich das gefunden hatte. Und mein Versuch, danach zu googlen blieb erfolglos ob der ungeeigneten Stichwörter meiner Suche.

Vielen Dank, ihr habt mir echt Zeit gespart.
Benutzeravatar
pixewakb
User
Beiträge: 1411
Registriert: Sonntag 24. April 2011, 19:43

Ich hatte vor einigen Tagen/Wochen die gleiche Überlegung und wollte dasselbe Problem lösen. Bei allgemeinen, d. h. nicht konzeptionellen Fragen finde ich momentan die Seite stackoverflow.com ganz gut. Ich nutze es, indem ich via Google in Stichworten mein Problem - auf Englisch - suche und werde dann meist auf Seiten von stackoverflow.com geleitet, wo häufig in den Antworten brauchbare Lösungsansätze in Form von Code-Schnipseln zu finden sind. In der Regel hatte die Frage schon mal häufiger jemand.
Antworten