Python の contextmanager 関数を返す関数の実験 ― 2022年12月16日 12時14分14秒
この、contextmanager の機能を保持しつつ、追加で実装を追加出来るか実験。やりたいのは contextmanager 関数を返す事。簡単にした例を追った方が簡単だと思う。
で、出力はこれ。
from contextlib import contextmanager
@contextmanager
def session():
print("before")
yield session
print("after")
def wrap():
return session()
with session() as s:
print("go")
print("=====")
with wrap() as w:
print("try")
contextmanager の効果はしっかりと保持されたまま。
% python test_contextmanager.py
before
go
after
=====
before
try
after
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2022/12/16/9548267/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。