Mehrere Instanzen in einer Klasse abrufen

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
kann_kein_python
User
Beiträge: 2
Registriert: Montag 20. November 2017, 19:04

Hallo,

ich stehe vor folgendem Problem, zu dem ich keine Ahnung habe, wie ich es lösen soll.

Ich muss eine Klasse schreiben, welche in der Lage sein soll, mit mehreren Instanzen zu hantieren.

Ich werde die Instanzen immer in folgender Syntax erhalten:
A = Klasse(Blabla, Blubblu, 33)
B = Klasse(cvntu, c45485c, c7458435z)
C = Klasse(v5v56v544, vc54c54c46, c000798786756)
.
.
.

Meine erste Überlegung war, die Instanzen in eine Liste zu speichern, die sich in meiner Klasse befindet, damit ich mit meinen Methoden so oft ich will auf die Instanzen zugreifen kann.
Wenn ich so eine Instanz wie da oben eingebe, müsste diese Instanz doch glaub ich erstmal woanders abgespeichert werden?
Aber wie kann/sollte ich das bewerkstelligen?
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

@kann_kein_python: Instanzen einer Klasse werden so referenziert, wie sie gebraucht werden. Und alle Instanzen werden NIE in ihrer eigenen Klasse gebraucht.
Um Dir also helfen zu können, müßten wir etwas genauer wissen, was Denn mit den Instanzen gemacht werden soll, was die Klasse können soll, etc.
kann_kein_python
User
Beiträge: 2
Registriert: Montag 20. November 2017, 19:04

Die Instanzen beschreiben einen binären Baum: Syntax: Baum=Klassenname(Schluessel, linkesKind,rechtesKind). Anhand vorgegebener Methoden, soll dann zum Beispiel die Höhe eines Knotens im Baum festgestellt und ausgegeben werden.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Also musst du eine Klasse Knoten (nicht Klassenname..) anlegen, und die bekommt drei Argumente. Und speichert sich die. Und daraus baust du einen Baum.

Code: Alles auswählen

class Knoten:
    def __init__(self, key, left=None, right=None): 
           self.key, self.left, self.right = key, left, right

baum = Knoten("root", Knoten("left"), Knoten("right"))
Antworten