Rozdział 14 · Tworzenie rzeczywistych obiektów

Klasy

Pisanie własnej pierwszej klasy — szablon, według którego Python będzie tworzyć obiekty.

Klasy

Zdefiniujmy własną klasę — rysunek obiektu „Dog”

klass_sobaka.py
class Sobaka:
    def __init__(self, klichka, vozrast):
        self.klichka = klichka
        self.vozrast = vozrast

rex = Sobaka(„Rex”, 3)
print(rex.klichka, rex.vozrast)

__init__ jest specjalną metodą, która automatycznie jest wykonywany podczas tworzenia obiektu (Sobaka("Рекс", 3)) i dostosowuje w stanie początkowym. self — odwołanie do samego tworzonego obiektu; Python przekazuje je automatycznie, a pierwszym parametrem __init__ (lub jakakolwiek inna metoda) powinna zawsze być obecna. Szczegółowo, co się tutaj dzieje „pod Hood”

Klasa vs obiekt — analogia do foremki do ciastek
Class jest jak forma do ciasteczek: ta sama forma może „pokroić”
Gdzie analogia się psuje
Forma ciasteczek to narzędzie pasywne: sama w sobie nic nie robi i nie przechowuje stanów. Klasa w Python nie jest biernym szablonem, lecz obiektem samym w sobie: możesz ją o to prosić type(rex)atrybuty mogą być przypisane do niego samemu, może być przekazywany zmiennej. Użyj tej analogii, by zapamiętać „jeden rysunek → wiele kopii”
Sobakaklichkavozrast
Klasa Sobaka — opisuje PRZYSZŁE atrybuty, ale jeszcze nie zawiera żadnej wartości

Obiekty ze swoimi wartościami

Każda cecha przechowuje własne wartości atrybutów, niezależne od innych cech tej samej klasy:

raznye_obekty.py
rex = Sobaka(„Rex”, 3)
sharik = Sobaka(„Ball”, 5)

print(rex.klichka, rex.vozrast)      # Rex 3
print(sharik.klichka, sharik.vozrast)  # Piłeczka 5 — niezależnie od rex
rex : Sobakaklichka = 'Rex'vozrast = 3
Obiekt rex — konkretne wartości
sharik : Sobakaklichka = 'Ball'vozrast = 5
Obiekt sharik — własne wartości, ta sama klasa

Jedna klasa — tyle obiektów, ile chcesz, a każdy ma swój własny, niezależny stan. Dokładnie tak To odróżnia obiekt od prostego słownika o podobnych kluczach: należy do swojemu klasie i uzyskuje przez nią dostęp do wspólnych metod (sekcja 14.3).

Praktyka: Tworzenie własnych klas
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →