Глава 14 · Создаём объекты реального мира

Классы

Пишем свой первый класс — чертёж, по которому Python будет создавать объекты.

Классы

Определим свой собственный класс — чертёж для объекта «Собака»:

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

rex = Sobaka("Рекс", 3)
print(rex.klichka, rex.vozrast)

__init__ — специальный метод, который автоматически выполняется при создании объекта (Sobaka("Рекс", 3)) и настраивает его начальное состояние. self — ссылка на сам создаваемый объект; Python передаёт её автоматически, и первым параметром __init__ (и любого другого метода) она должна быть всегда.

Класс vs объект — аналогия с формой для печенья
Класс — как форма для печенья: одна и та же форма может «вырезать» сколько угодно печений (объектов) — каждое своё, но по одному и тому же шаблону.

Объекты со своими значениями

Каждый объект хранит свои собственные значения атрибутов, независимо от других объектов того же класса:

raznye_obekty.py
rex = Sobaka("Рекс", 3)
sharik = Sobaka("Шарик", 5)

print(rex.klichka, rex.vozrast)      # Рекс 3
print(sharik.klichka, sharik.vozrast)  # Шарик 5 — независимо от rex
Практика в Jupyter Notebook
14-02-klassy.ipynb · создаём собственные классы
Открыть ноутбук →