一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • python::contextmanagerとyeildの使いどころ

contextmanagerもyeildも使い所をよく忘れるのでメモ。

例えばある処理の開始と終了をログに出したい場合、呼び出し対象の関数にいちいち記載するのは面倒である。

“`

@contextmanager
def log_time(name=””):
    logger.info(f”{name} Start”)
    yield None
    logger.info(f”{name} Done”)
# 使用例
with log_time(‘exec xxxx’):
    exec()

“`

こんなutility関数をサクッと作れるようになりたい。

 

The following two tabs change content below.

千葉 史朗

最新記事 by 千葉 史朗 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア