-1
私は、次のサンプル関数があります:私は理由with
文の中の追加インデントの全機能本体の視覚的なスペースを失いたくないPythonで 'with'ステートメントで関数全体を呼び出す方法は?
def Run(self):
with self._resource() as r:
# a lot of code uses |r|
pass
# end of 'with' statement
# end of function body
を。
また、私はクラスのスコープ外_resource()
を呼び出すにしたくない - それはいくつかの方法でカプセル化を壊し、これは良い方法ではありません。すなわち:
with obj._resource() as r:
obj.Run(r)
同じことを実行するための任意のかなりの方法があります視覚的なスペースを失うことなくコード?