Задачи на ООП с решениями
ООП понимается через практику. Разберём несколько задач на классы.
Класс с методом
Заведём класс «Счётчик»: атрибут хранит число, метод его увеличивает.
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? Атрибут конкретного объекта, живущий вместе с ним.
Начать игру бесплатно