基本的には、Foo()クラスにいくつかのFoo.bar(arg1、name)メソッドを提供するAPIがあります。私は猿のパッチよりも、この他のためのよりエレガントな方法があるのか疑問に思っコンテキストマネージャ内での関数の部分的な適用( "with ..")
x=Foo()
with my_argument(name="Something") as e:
x.bar(arg1=5) # == x.bar(arg1=5, name="Something") in this context
:
このようなつまりコンテキストマネージャ、内Foo.barにfunctools.partialオブジェクトを適用する方法はありますFoo.bar?
編集:ポイントがある 、私はこのようなコードを持っている:
with Arguments(name="constraint"):
model.addConstr(a)
model.addConstr(b)
一部のアプリケーションを意味します。部分的な評価は(通常は静的で、部分的には高価なため)[プログラム変換](http://morepypy.blogspot.com/2012/01/comparing-partial-evaluation-and.html)です。これがおそらくあなたが本当にそれをしたくないのであれば、コンテキストマネージャーを提供したオブジェクトのメソッドに限定されているかもしれません。 – delnan
そうではありませんが、そうです。 –