Классы и объекты в Python
Класс — чертёж, объект — конкретный экземпляр по нему. С этого начинается ООП.
Класс — это чертёж
Класс описывает, какие у объекта будут данные (атрибуты) и что он умеет (методы). По одному классу создают сколько угодно объектов — как по одному чертежу собирают много дронов.
class Дрон:
def __init__(self):
self.заряд = 100
Объект и __init__
Объект создают, вызвав класс как функцию. Метод __init__ — конструктор: он задаёт начальные атрибуты нового объекта. Ссылка self внутри методов указывает на конкретный объект, с которым идёт работа.
d = Дрон()
print(d.заряд) # 100
Зачем это нужно
ООП помогает собрать данные и действия над ними в одном месте, чтобы код большого проекта оставался понятным. Каждый объект хранит своё состояние: у двух дронов может быть разный заряд, и они не мешают друг другу.
Частые вопросы
Чем класс отличается от объекта? Класс — описание, объект — созданный по нему экземпляр.
Обязателен ли __init__? Нет, но обычно он нужен, чтобы задать стартовые данные объекта.
Начать игру бесплатно