2 つの興味深い講義を提案します。
1.ステートメントは
、with
コンテキスト マネージャーによって定義されたメソッドでブロックの実行をラップするために使用されます。これにより、一般的なtry...except...finally
使用パターンをカプセル化して再利用しやすくすることができます。
2.
次のようなことができます。
with open("foo.txt") as foo_file:
data = foo_file.read()
また
from contextlib import nested
with nested(A(), B(), C()) as (X, Y, Z):
do_something()
または (Python 3.1)
with open('data') as input_file, open('result', 'w') as output_file:
for line in input_file:
output_file.write(parse(line))
また
lock = threading.Lock()
with lock:
# Critical section of code
3.
ここにアンチパターンはありません。Dive into Python の
引用:
試してみてください..最終的には良いです。とのほうが良いです。
4.try..catch..finally
プログラマーが他の言語のステートメント
を使用する習慣に関係していると思います。