Методы
Часть раздела Объектно-ориентированное программирование путешествия по Python на Coddy. Урок 5 из 64.
Методы — это функции, принадлежащие классу. Они определяют поведение или действия, которые могут выполнять объекты.
Вот пример класса с методами:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultСоздай объект калькулятора:
my_calc = Calculator()Вызови метод, которому не нужны параметры:
my_calc.greet()Вызывайте методы с параметрами:
sum_result = my_calc.add(5, 3)
print(sum_result)Вызови метод, который и выводит, и возвращает значение:
product = my_calc.multiply(4, 7)Вывод:
Hello! I'm a calculator.
8
4 × 7 = 28Методы могут:
- Принимать параметры, например
add(self, a, b) - Возвращать значения, например
return a + b - Выводить результат напрямую, например
print("Hello!") - И выводить результат, и возвращать его
Ключевой момент: методы определяют, что могут делать ваши объекты. Всегда указывайте self в качестве первого параметра, но не передавайте его при вызове метода.
Задание
ЛегкоВ этом задании ты реализуешь банковскую систему. Ты создашь класс BankAccount в одном файле и будешь использовать его в другом, чтобы показать, как организовать код для лучшей сопровождаемости.
Тебе нужно работать с двумя файлами:
- bank_account.py: здесь ты определишь класс
BankAccount - driver.py: здесь ты импортируешь класс, создашь счёт и выполнишь транзакции
Создай класс BankAccount в файле bank_account.py со следующими элементами:
- Атрибут класса
bank_nameсо значением "Python National Bank" - Метод
deposit, который принимает сумму и добавляет её к балансу счёта - Метод
withdraw, который принимает сумму и вычитает её из баланса - Метод
get_balance, который возвращает текущий баланс
Затем в файле driver.py импортируй класс BankAccount, создай счёт, внеси $100, сними $30 и выведи баланс в формате: f"Current balance: ${my_account.get_balance()}"
Попробуйте сами
from bank_account import BankAccount
# Создайте счёт и проверьте свои методы
my_account = BankAccount()
my_account.balance = 0 # Начальный баланс
# TODO: Выполните операции
# (Ваш код здесь)
# TODO: Выведите итоговый баланс
# (Ваш код здесь)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Основы ООП
Введение в ООПВнешние файлыКлассы и объектыПараметр selfМетодыАтрибутыМетод-конструктор (__init__)Повторение — простой калькулятор4Наследование
Основы наследованияФункция super()Переопределение методовМножественное наследованиеПорядок разрешения методовПовторение: иерархия сотрудников7Специальные методы
Введение в магические методыПерегрузка операторовМагические методы контейнеровПовторение — пользовательский список10Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн «Одиночка»Паттерн «Фабрика»Паттерн «Наблюдатель»Паттерн «Стратегия»2Декораторы
Введение в декораторыДекоратор свойстваДекоратор статического методаДекоратор метода класса5Полиморфизм
Переопределение методов: повторениеУтиная типизацияАбстрактные классы и методыПроектирование интерфейсовПовторение — калькулятор фигур8Продвинутые концепции ООП
Композиция и наследованиеМиксиныСтатические методы и методы классаДекораторы классовМенеджеры контекста11Паттерны проектирования. Часть 2
Паттерн «Команда»Паттерн «Адаптер»Паттерн «Декоратор»Паттерн «Шаблонный метод»Паттерн «Состояние»Паттерн «Компоновщик»3Свойства классов
Переменные экземпляра и классаДекораторы свойствПриватные атрибутыПовторение — менеджер банковского счёта6Инкапсуляция
Публичные, защищённые и приватные членыМодификаторы доступаСокрытие информацииПродвинутые декораторы свойствПовторение — система учёта студентов12Проект: Система управления библиотекой
Обзор проектаКлассы книг и пользователейСистема выдачи книгФункция поискаИнтерфейс администратораТестирование и интеграцияПотренируйтесь самостоятельно: Онлайн-компилятор Python