New We are sorting MAX channels into categories and territories. Read the news
Loading image…

Python может создавать методы экземпляра из одного общего метода!



Когда несколько методов отличаются только фиксированным аргументом, не обязательно дублировать одну и ту же логику.
def request(self, method, path):
print(method, path)


partialmethod() фиксирует часть аргументов метода на уровне класса и создаёт специализированный метод экземпляра.
get = partialmethod(request, "GET")

Теперь get() вызывает тот же request(), но значение GET уже подставляется автоматически.
api = API()
api.get("/users") # GET /users


Так удобно описывать API-клиенты, команды, режимы обработки и любые классы, где несколько методов отличаются только заранее известным параметром.
post = partialmethod(request, "POST")

partialmethod() помогает оставить одну точку изменения общей логики и убрать дублирование почти одинаковых методов.

Python Ready | #совет
Views: 311
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go