Глава 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 · создаём собственные классы