Method chaining — это паттерн проектирования, при котором каждый метод возвращает self (текущий экземпляр объекта), позволяя вызывать несколько методов последовательно на одном объекте в одном выражении.
Ключевое требование — каждый метод должен явно вернуть self в конце. Это передаёт тот же объект следующему методу в цепочке.
class Builder:
def set_name(self, name):
self.name = name
return self # возвращает тот же объект
def set_age(self, age):
self.age = age
return self # возвращает тот же объект
# Все методы вызваны в одном выражении с цепочкой
person = Builder().set_name("Alice").set_age(30)
Без этого паттерна эквивалентный код требовал бы отдельных вызовов:
person = Builder()
person.set_name("Alice")
person.set_age(30)
Method chaining работает потому, что каждый метод возвращает self, то есть каждый вызов в цепочке работает с одним и тем же объектом. Этот паттерн широко используется в популярных библиотеках Python — например, SQLAlchemy использует его для построения запросов к БД вроде session.query(User).filter(...).order_by(...).all().
При методической цепочке каждый метод должен явно возвращать self, чтобы следующий метод в цепи мог быть вызван на том же экземпляре объекта.
Новый — ещё не проверен сообществом
Вы