Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Задачи на ООП с решениями

ООП понимается через практику. Разберём несколько задач на классы.

Класс с методом

Заведём класс «Счётчик»: атрибут хранит число, метод его увеличивает.

class Counter:
    def __init__(self):
        self.value = 0
    def inc(self):
        self.value += 1

c = Counter()
c.inc(); c.inc()
print(c.value)   # 2

Банковский счёт

Задача посложнее: класс со вкладом и снятием, с проверкой баланса.

class Account:
    def __init__(self, balance=0):
        self.balance = balance
    def withdraw(self, amount):
        if amount <= self.balance:
            self.balance -= amount

Несколько объектов

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

Совет: начните со «Счётчика» — он показывает __init__, метод и self в самом простом виде.

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

Зачем __init__? Он задаёт начальные значения атрибутов при создании объекта.

Что такое self.value? Атрибут конкретного объекта, живущий вместе с ним.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание