Hallo,
in meinem code erzeuge ich an verschiedenen stellen aus einer class ein Objekt.
Ich für da immer eine Methode aus die werte in einer List ändert.
das Problem ist das jedes Objekt das nur für sich macht und die werte nicht übernommen werden.
also dass die Änderung auch die anderen Objekte haben
Object1 list( 0,0,0,1) Object2 list (0,0,1,0)
es soll aber
class1 list(0,0,1,1) sein.
ich glaub das liegt an public und private
Object Attribute übernehmen
Ich glaube, du verwechselst da einige Dinge, denn "public" und "private" gibt es in Python nicht. Und auch in anderen Sprachen hätte das nichts mit deinem Problem zu tun.
Man wird nur mäßig schlau aus deiner Erklärung, ohne Code zu sehen. Die Lösung erscheint aber recht einfach: Wenn du das selbe Objekt an verschiedenen Stellen manipulieren möchtest, dann brauchst du dort auch überall das selbe Objekt - und nicht verschiedene Instanzen einer Klasse.
Strukturier also dein Programm richtig, so dass entsprechend eine Instanz der Klasse herumgereicht wird, statt (und das vermute ich) du Klassenattribute dafür missbrauchen möchtest, weil dein Code kaputt ist.
Man wird nur mäßig schlau aus deiner Erklärung, ohne Code zu sehen. Die Lösung erscheint aber recht einfach: Wenn du das selbe Objekt an verschiedenen Stellen manipulieren möchtest, dann brauchst du dort auch überall das selbe Objekt - und nicht verschiedene Instanzen einer Klasse.
Strukturier also dein Programm richtig, so dass entsprechend eine Instanz der Klasse herumgereicht wird, statt (und das vermute ich) du Klassenattribute dafür missbrauchen möchtest, weil dein Code kaputt ist.
Zuletzt geändert von sparrow am Freitag 18. März 2022, 19:17, insgesamt 1-mal geändert.
-
- User
- Beiträge: 2
- Registriert: Freitag 18. März 2022, 17:25
Hat sich erledigt nach dem ich seit ein paar tagen dran bin und mich entschieden habe zu fragen.
Habe ich durch rumprobieren die Lösung gefunden. Die liste war in __init__. nach dem ich sie da rausgeholt habe hat es funktioniert.
Trotzdem danke.
Habe ich durch rumprobieren die Lösung gefunden. Die liste war in __init__. nach dem ich sie da rausgeholt habe hat es funktioniert.
Trotzdem danke.