hej mam taki problem, że nie wiadomo czemu lista z jednego obiektu kopiuje/duplikuje/nadpisuje mi się z listą drugiego obiektu (dla większej ilości obiektów - więcej kopii/duplikatów...). Wrzucam kod, może ktoś jest tutaj w stanie wytłumaczyć dlaczego się tak dzieje (albo jaki popełniłem błąd)?
@NieJestemAgentemBialkova: nie jestem specjalistą od pythona ale na moje oko to zmienne board, board tmp, start board, score są statyczne. jeśli nie chcesz aby były one współdzielone przez wszystkie obiekty tej klasy to musiałbyś je przenieść do konstruktora.
@NieJestemAgentemBialkova: Jeżeli lista, dajmy tutaj board, jest wpisana bezpośrednio pod klasą a nie w _init, to jest traktowana jako atrybut klasy a nie obiektu (coś jak zmienne statyczne w cpp). Atrybut klasy jest taki sam dla każdego obiektu, i tych już stworzonych, jak i tych które dopiero będą stworzone. Jeżeli przypiszesz board (czy którąkolwiek listę potrzebujesz) do init_ to wtedy będzie ona unikalna dla obiektu.
@matwiejblyat: tak z ciekawości zapytam - w innych językach jest podobnie? mam na myśli w tych popularniejszych: java, c++. Wydaje mi się, że tam chyba nie ma takiego mechanizmu.
main:
https://pastebin.com/s0HTbebq
moduł z klasą:
https://pastebin.com/ASv8ZDrn
#programowanie
#python