Rozdział 14 · Tworzenie rzeczywistych obiektów
Zarządzanie obiektami
Atrybuty można zmieniać po utworzeniu obiektu — a metody nadają obiektowi własne działania.
Zarządzanie obiektami
Wartości atrybutów można zmieniać już po utworzeniu obiektu — tak samo, jak zmienia się wartość zwykłej zmiennej:
menyaem_atributy.py
rex = Sobaka(„Rex”, 3)
rex.vozrast = 4 # Rex miał urodziny
print(rex.vozrast)
Obiekty wykonują działania
Oprócz danych (atrybutów), klasa może mieć własne działania — metody:
funkcje normalne zdefiniowane w klasie, które mają dostęp do
self a przez to także atrybuty obiektu:
metody.py
class Sobaka:
def __init__(self, klichka, vozrast):
self.klichka = klichka
self.vozrast = vozrast
def layat(self):
print(f"{self.klichka} powiedział: „Hau-hau!”")
def prazdnovat_den_rozhdeniya(self):
self.vozrast += 1
print(f"Teraz {self.klichka} się odwrócił {self.vozrast}!")
rex = Sobaka(„Rex”, 3)
rex.layat()
rex.prazdnovat_den_rozhdeniya()
Znana notacja
rex.layat() zorganizowane dokładnie tak samo, jak artist.forward(100) lub "текст".upper() — metody obiektów, których już od dawna używasz, działają dokładnie tak samo jak metoda layat(), że właśnie sam napisałeś.self nie jest słowem kluczowym
self — zwyczajowa nazwa parametru wybrana konwencją, a nie słowo zastrzeżone Python (w przeciwieństwie do if lub class). Technicznie rzecz biorąc, metoda będzie działać z nazwą this lub obj — ale użyj self zawsze: tak nazywa go cały kod Python, a każda inna nazwa może zdezorientować innych czytających twój kod. Szczegóły miejsca self pobiera się przy wywołaniu, omówimy w rozdziale 14.5.Praktyka: metody i zmiana atrybutów
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji