以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2016/10/18/235600より取得しました。


contextlibをつかうと終了時や開始時に明示的なアクションが必要な場合に確実な記述ができる

contextlibはwith構文のyieldを使って色々できる怖い機能です。
with構文自体がcloseをやってくれる便利なヤツですが、
このcontextlibをつかうと終了時や開始時に明示的なアクションが必要な場合に確実な記述ができます。

実際のところ

公式のサンプルによると、たとえばHTMLタグ打ちなんかで使えるみたいですね。

from contextlib import contextmanager

@contextmanager
def tag(name):
    print("<%s>" % name)
    yield
    print("</%s>" % name)

with tag("h1"):
  print("foo")

#>> <h1>
#>> foo
#>> </h1>

他の用法では、バッチ処理の前後に挟むようなアレコレを書くといった用法が考えつきます。




以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2016/10/18/235600より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14