Я хочу, чтобы обезьяна исправила метод библиотечного класса, чтобы определить другое значение по умолчанию для параметра.Сбой:
from functools import partial
class A(object):
def meth(self, foo=1):
print(foo)
A.meth = partial(A.meth, foo=2)
a = A()
a.meth()
с:
Traceback (most recent call last):
File "...", line 10, in <module>
a.meth()
TypeError: meth() missing 1 required positional argument: 'self'
как правильно это сделать?
(Оригинальный код использует getattr
в именах методовв цикле)
Ответы в связанном вопросе включают определение новой функции уровня модуля - я бы хотел избежать определения новой функции