Zanurkuj w Pythonie/Tworzenie instancji klasy: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
dr. |
sprzątanie kodu |
||
Linia 42:
Technicznym terminem tego sposobu odśmiecania pamięci jest "zliczanie odwołań" ([[w:Reference counting|zobacz w Wikipedii]]). Python przechowuje listę referencji do każdej utworzonej instancji. W powyższym przykładzie, mamy tylko jedną referencję do instancji <code>FileInfo</code> -- zmienną <code>f</code>. Kiedy funkcja się kończy, zmienna <code>f</code> wychodzi poza zasięg, więc licznik odwołań zmniejsza się do <code>0</code> i Python zniszczy tę instancję automatycznie.
W poprzednich wersjach Pythona występowały sytuacje, gdy zliczanie odwołań zawodziło i Python nie mógł wyczyścić po nas pamięci. Jeśli tworzyliśmy dwie instancje, które odwoływały się do siebie nawzajem (np. instancja listy dwukierunkowej
Podsumowując, w języku tym można po prostu zapomnieć o zarządzaniu pamięcią i pozostawić tę sprawę Pythonowi.
Linia 54:
[[../Klasa opakowująca UserDict|Klasa opakowująca <code>UserDict</code>]]|
}}
|