Проект на ООП для новичка
Понять ООП проще всего на маленьком проекте. Соберём класс «Кошелёк» — на нём видно, зачем нужны классы.
Класс как чертёж
Класс — это чертёж объекта. Метод __init__ задаёт начальное состояние (атрибуты), а обычные методы описывают, что объект умеет делать.
class Wallet:
def __init__(self):
self.balance = 0
def add(self, amount):
self.balance += amount
Создаём объекты
По одному чертежу можно сделать много объектов, и у каждого своё состояние. Кошелёк Ани и кошелёк Пети не мешают друг другу.
a = Wallet()
a.add(100)
b = Wallet()
b.add(50)
print(a.balance, b.balance) # 100 50
Куда развивать проект
Добавьте метод spend(amount) с проверкой, что денег хватает; заведите класс Student с именем и оценками и метод average(). Так вы почувствуете, чем класс удобнее набора отдельных переменных.
Главная идея ООП: данные и действия над ними живут вместе, в одном объекте.
Частые вопросы
Что такое self? Это сам объект; через него методы читают и меняют его атрибуты.
Зачем классы, если есть функции? Когда данных и действий много, класс держит их вместе и код не расползается.
Начать игру бесплатно