🔹 از تکرار try...finally برای بستن فایلها و اتصالها خسته شدی؟
🔹 پایتون ابزاری به نام Context Manager داره که با دستور with استفاده میشه. اما اگر بخوای خودت یک Context Manager سفارشی بسازی، نیازی نیست حتماً کلاس با متدهای enter و exit بنویسی!
با ماژول contextlib و دکوراتور @contextmanager میتونی خیلی تمیز این کار رو انجام بدی:
from contextlib import contextmanager
@contextmanager
def managed_resource():
print("-> باز کردن اتصال/فایل")
yield "Resource Object"
print("-> بستن ایمن اتصال/فایل")
# استفاده:
with managed_resource() as res:
print(f"در حال کار با: {res}")
🐍 @python_rd