Python beliebig viele Objekte erzeugen möglich?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Naja, wenn du schon weißt, wie viele du erzeugen willst, und das nicht allzu viele sind, kannst du die einfach so nacheinander definieren...

objekt0 = Klasse(attribute)
objekt1 = Klasse(attribute)
objekt2 = Klasse(attribute)
objekt3 = Klasse(attribute)

Ansonsten, insbesondere wenn die Anzahl evtl. erst zur Laufzeit feststeht, kannst du eine Liste mit entsprechend vielen Objekten erzeugen. Beispielsweise so...

objekte = [Klasse(attribute) for _ in range(20)]

Bei dem Beispiel erhältst du dann eine Liste objekte, welche die 20 Objekte objekte[0], objekte[1], objekte[2], ..., objekte[19] enthält. Die Zahl 20 kannst du dann natürlich auch durch eine beliebige andere Anzahl ersetzen.

Wenn du danach noch ein weiteres Objekt haben möchtest, kannst du einfach ein weiteres Objekt erzeugen und zur Liste hinzufügen...

objekte.append(Klasse(attribute))

... bzw. wenn du mehrere weitere Objekte hinzufügen möchtest, kannst du auch eine weitere Liste erstellen und mit der vorigen Liste verbinden. Beispielsweise kann man mit...

objekte += [Klasse(attribute) for _ in range(10)]

... dann 10 weitere Objekte erzeugen und zur Liste hinzufügen.

Das kannst du mit einer Liste und einer Schleife lösen.

class SomeClass:
  # ...

numberOfObjects = 123
objects = []

for index in range(numberOfObjects):
  objects.append(SomeClass())

Die Liste ermöglicht es dir, auf die erzeugten Objekte später wieder zugreifen zu können.