括弧で囲まれたコンテキストマネージャ(python3.10〜)
複数行にわたるコンテキストマネージャーを記述できるようになった
コンテキストマネージャの複数行にわたる継続のための括弧の使用がサポートされました。これにより、これまでimport文で可能だったのと同様の方法で、複数行にわたる長いコンテキストマネージャーのコレクションを記述することができます。
たとえば、以下の例はすべて有効になります。
code: python
with (CtxManager() as example):
...
with (
CtxManager1(),
CtxManager2()
):
...
with (CtxManager1() as example,
CtxManager2()):
...
with (CtxManager1(),
CtxManager2() as example):
...
with (
CtxManager1() as example1,
CtxManager2() as example2
):
...
は、囲まれたグループの最後に末尾のコンマを使用することも可能です。
code: python
with (
CtxManager1() as example1,
CtxManager2() as example2,
CtxManager3() as example3,
):
...
参考