1
は、単一with
ステートメントを使用するには、次のコードを複製する良い方法があります:withステートメント内の動的項目数を処理する方法は?
thing1 = Thing()
if two_things:
thing2 = Thing()
do_stuff(thing1)
if two_things:
do_stuff(thing2)
thing1.close()
if two_things:
thing2.close()
私は句を持つ別の2を使用することができますが、コードの多くは二つの間で共有されている場合、これはかなり悪いですケース。
if two_things:
with Thing() as thing1, Thing() as thing2:
do_stuff(thing1)
do_stuff(thing2)
else:
with Thing() as thing:
do_stuff(thing1)