基本上,我有一个 api,它为类 Foo() 提供了一些方法 Foo.bar(arg1, name)。
有没有办法在上下文管理器中将 functools.partial 对象应用于 Foo.bar ,即像这样:
x=Foo()
with my_argument(name="Something") as e:
x.bar(arg1=5) # == x.bar(arg1=5, name="Something") in this context
我想知道除了猴子修补 Foo.bar 是否有更优雅的方法?
编辑: 关键是,我有这样的代码:
model.addConstr(a, name="constraint_1")
model.addConstr(b, name="constraint_2")
如果没有额外的样板,下面的代码应该对“模型”产生相同的调用:
with Arguments(name="constraint"):
model.addConstr(a)
model.addConstr(b)