Методы
Часть раздела Объектно-ориентированное программирование путешествия по 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Создайте объект calculator:
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: здесь ты импортируешь класс, создашь account и выполнишь операции
Создай класс BankAccount в bank_account.py со следующими элементами:
- Атрибут класса
bank_name, установленный в значение "Python National Bank" - Метод
deposit, который принимает amount и добавляет его к balance account - Метод
withdraw, который принимает amount и вычитает его из balance - Метод
get_balance, который возвращает текущий balance
Затем в driver.py импортируй свой класс BankAccount, создай account, внеси $100, сними $30 и выведи balance в формате: 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
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн ObserverПаттерн Strategy5Полиморфизм
Снова о переопределении методовУтиная типизацияАбстрактные классы и методыПроектирование интерфейсовИтоги — Калькулятор фигур8Продвинутые концепции ООП
Композиция против наследованияМиксиныСтатические методы и методы классаДекораторы классовМенеджеры контекста11Паттерны проектирования. Часть 2
Паттерн КомандаПаттерн АдаптерПаттерн ДекораторПаттерн Шаблонный методПаттерн СостояниеПаттерн Компоновщик3Свойства классов
Переменные экземпляра и классаДекораторы свойствПриватные атрибутыИтоги — Менеджер банковского счета6Инкапсуляция
Public, Protected, Private члены классаМодификаторы доступаСокрытие данныхДекораторы property: продвинутый уровеньИтоги: Система учета студентов12Проект: Управление библиотекой
Обзор проектаКлассы Book и UserСистема выдачи книгФункционал поискаИнтерфейс администратораТестирование и интеграцияПотренируйтесь самостоятельно: Онлайн-компилятор Python