Hey
Ich habe ein problem mit class:
ich schreibe zum beispiel:
class beispiel:
def test1(self):
pass
ich würde jetzt gerne objekte automatisch erzeugen lassen
also das ich nicht
1=beispiel()
2=beispiel()
3=
.
.
.
schreiben muss sondern das das automatisch funktioniert
ich habe schon wirklich lange darüber nachgedacht aber ich finde keine lösung
hoffentlich hat irgentwer eine Idee
Lg. Tobi
class - Problem
Erzeuge die Exemplare in einer Schleife und füge sie an eine Liste an. Lässt sich eventuell auch als "list comprehension" ausdrücken.
@Nitrogen: Darf ich nach dem Sinn deines Vorhabens fragen? Warum willst du - sagen wir mal - 10 Exemplare der selben Klasse verwenden? Meine weibliche Intuition flüstert mir nämlich gerade, dass du möglicherweise etwas machen willst, das man besser anders lösen sollte...
Es soll eine Simulation von Zellen entstehen wenn das ganze fertig ist
Das Problem ist das sich die Zellen Teilen sollen
-> viele verschiedene DNA's die jeweils zu einer eigenständigen Zelle gehören und veränderlich sind
somit muss ich bei jeder Zellteilung eine 1Methode löschen und 2 neue erstellen.
Ich weis nicht wie ich das sonst lösen könnte
lg Tobias
Das Problem ist das sich die Zellen Teilen sollen
-> viele verschiedene DNA's die jeweils zu einer eigenständigen Zelle gehören und veränderlich sind
somit muss ich bei jeder Zellteilung eine 1Methode löschen und 2 neue erstellen.
Ich weis nicht wie ich das sonst lösen könnte
lg Tobias
Methoden löschen und erstellen ist wohl sehr unsinnvoll... Ich verstehe aber dein Vorhaben jetzt auch nicht direkt - wie kann eine Zelle mehrere DNA-Stränge haben? Vllt. schilderst du das Problem selbst nochmal klarer.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Wie wärs mit einer Funktion, die die Zellen teilt und danach die Mutterzelle aus deinem Zellpool entfernt? Zellteilung eventuell als Methode der Zelle und die Funktion kümmert sich um die Buchhaltung.
P.S. Was du meinst sind Instanzen, keine Methoden
Code: Alles auswählen
class Cell(object):
def split(self):
#insert magic here
return descendents
def split_cell(cell, cell_pool):
cell_pool.extend(cell.split())
del cell #oder wahlweise nur aus dem pool löschen
cell_pool = []
root_cell = Cell()
split_cell(root_cell, cell_pool)
@SchneiderWeisse:
sorry war vl. ein bischen undeutlich vormuliert:
ein Zelle soll nur einen DNA strang haben aber jede Zelle kann sich teilen dabei entstehen zwei neue Zellen die nicht die gleiche DNA haben müssen.
@cofi:
ich möchte aber auch ablaufe in jeder Zelle simulieren so das jede für sich arbeitet. geht das mit deiner Methode auch?
Ja habe wirklich Instanzen gemeint, dass wort ist mir nur nicht eingefallen.
Lg. nitrogen
sorry war vl. ein bischen undeutlich vormuliert:
ein Zelle soll nur einen DNA strang haben aber jede Zelle kann sich teilen dabei entstehen zwei neue Zellen die nicht die gleiche DNA haben müssen.
@cofi:
ich möchte aber auch ablaufe in jeder Zelle simulieren so das jede für sich arbeitet. geht das mit deiner Methode auch?
Ja habe wirklich Instanzen gemeint, dass wort ist mir nur nicht eingefallen.
Lg. nitrogen
Wenn ich Dich richtig verstanden habe, geht es Dir
nur um die letzte/jüngste Generation.
Bitte nicht auf biologische Plausibilität achten:
http://paste.pocoo.org/show/108857/
Die Demo soll Dir nur zeigen, wie Du vorgehen könntest.
yipyip
nur um die letzte/jüngste Generation.
Bitte nicht auf biologische Plausibilität achten:
http://paste.pocoo.org/show/108857/
Die Demo soll Dir nur zeigen, wie Du vorgehen könntest.
yipyip
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich sehe keinen Grund, warum das nicht gehen sollte
Das einzige was du brauchst ist ein "Ereignis", bei dem sich so eine Zelle eben teilt. Teilen sich alle Zellen auf einmal, iterierst du eben über eine Kopie deines `pools'. Sonst musst du eben eine Infrastruktur aufbauen, mit der du einzelne Zellen identifizieren kannst, um so eben die Teilung zu veranlassen. Ein Dictionary würde sich da eventuell anbieten.
Das einzige was du brauchst ist ein "Ereignis", bei dem sich so eine Zelle eben teilt. Teilen sich alle Zellen auf einmal, iterierst du eben über eine Kopie deines `pools'. Sonst musst du eben eine Infrastruktur aufbauen, mit der du einzelne Zellen identifizieren kannst, um so eben die Teilung zu veranlassen. Ein Dictionary würde sich da eventuell anbieten.