Классы и объекты в Python

Класс — чертёж, объект — конкретный экземпляр по нему. С этого начинается ООП.

Класс — это чертёж

Класс описывает, какие у объекта будут данные (атрибуты) и что он умеет (методы). По одному классу создают сколько угодно объектов — как по одному чертежу собирают много дронов.

class Дрон:
    def __init__(self):
        self.заряд = 100

Объект и __init__

Объект создают, вызвав класс как функцию. Метод __init__ — конструктор: он задаёт начальные атрибуты нового объекта. Ссылка self внутри методов указывает на конкретный объект, с которым идёт работа.

d = Дрон()
print(d.заряд)   # 100

Зачем это нужно

ООП помогает собрать данные и действия над ними в одном месте, чтобы код большого проекта оставался понятным. Каждый объект хранит своё состояние: у двух дронов может быть разный заряд, и они не мешают друг другу.

Частые вопросы

Чем класс отличается от объекта? Класс — описание, объект — созданный по нему экземпляр.

Обязателен ли __init__? Нет, но обычно он нужен, чтобы задать стартовые данные объекта.

Начать игру бесплатно