Zanurkuj w Pythonie/Tworzenie instancji klasy: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Linia 14:
# Utworzyliśmy instancję klasy FileInfo (zdefiniowaną w module <tt>fileinfo</tt>) i przypisaliśmy właśnie utworzony obiekt do zmiennej <tt>f</tt>. Użyliśmy jednego parametru <tt>/music/_singles/kairo.mp3</tt>, który będzie odpowiadał za argument <tt>filename</tt> w metodzie <tt>__init__</tt> klasy FileInfo.
# Każda instancja pewnej klasy ma wbudowany atrybut <tt>__class__</tt>, który jest klasą danego obiektu. (Dodajmy, że ta reprezentacja dołącza fizyczny adres instancji na moim komputerze, na twoim reprezentacja będzie się różniła) Programiści Javy mogą być
# Możesz pobrać notkę dokumentacyjną w podobny sposób jak funkcję czy moduł. Wszystkie instancje klasy mają taką samą informację.
# Pamiętamy, że metoda <tt>__init__</tt> przypisuje argument <tt>filename</tt> do self["name"]? W tym miejscu mamy wynik. Argumenty podawane podczas tworzenia instancji pewnej klasy zostają wysyłane do metody <tt>__init__</tt> (poza referencją do obiektu (argument, który nazwaliśmy <tt>self</tt>), Python zrobił to za nas).
Linia 25:
Jeśli tworzenie nowej instancji jest proste, to usuwanie jej jest jeszcze prostsze. W ogólności nie musimy wyraźnie zwalniać instancji klasy, ponieważ Python robi to automatycznie, gdy wychodzą one poza swój zasięg. W Pythonie rzadko występują wycieki pamięci.
'''Przykład 5.8. Próba
>>> def leakmem():
|