Ответ
Метод — это функция, принадлежащая классу и предназначенная для работы с данными его экземпляра (объекта). Основная роль методов — определять поведение объекта и обеспечивать взаимодействие с его состоянием (атрибутами).
Ключевые функции методов:
- Изменение состояния: Методы могут изменять значения атрибутов объекта. Например, метод
deposit()в классеBankAccountувеличивает баланс. - Выполнение операций: Они реализуют логику, связанную с объектом. Метод
calculate_area()в классеRectangleвычисляет его площадь на основе ширины и высоты. - Предоставление интерфейса: Методы служат публичным интерфейсом для взаимодействия с объектом, скрывая сложность внутренней реализации (принцип инкапсуляции).
Типы методов в Python:
- Методы экземпляра: Принимают
selfпервым аргументом и работают с конкретным объектом. - Методы класса: Помечаются декоратором
@classmethod, принимаютclsи работают с классом в целом. - Статические методы: Помечаются
@staticmethod, не зависят ни от класса, ни от экземпляра. Используются для вспомогательных функций, логически связанных с классом.
Пример:
class Counter:
def __init__(self):
self.count = 0 # Состояние объекта
# Метод экземпляра для изменения состояния
def increment(self):
self.count += 1
# Метод экземпляра для получения данных
def get_value(self):
return self.count
c = Counter()
c.increment() # Вызов метода изменяет внутреннее состояние
c.increment()
print(c.get_value()) # Вывод: 2