-
context manager란?Programming 기초/Python 2024. 12. 3. 04:42
Context manager
특정 리소스나 실행 컨텍스트를 설정하고, 작업이 끝난 후 자동으로 이를 정리(clean up)하는 방법을 제공하는 기능이다.
from typing import Protocol class CustomContextManager(Protocol): def __enter__(self): print("Entering the context") return self # 필요한 리소스 반환 가능 def __exit__(self, exc_type, exc_value, traceback): print("Exiting the context") return False # 예외를 호출자로 전달 # 사용 with CustomContextManager() as manager: print("Inside the context")
1. Python에서 프로토콜은 객체가 특정 동작을 수행하기 위해 따라야 하는 비공식적인 "규약"이고,
2. Context Manager 프로토콜은 __enter__와 __exit__ 메서드를 요구하며,
3. 이를 구현한 객체는 with 구문에서 사용할 수 있다.
4. with구문은 리소스를 자동으로 관리해준다는 측면에서 매우 유용하다.
'Programming 기초 > Python' 카테고리의 다른 글
function wrappers와 decorator (0) 2024.12.03 [python] 기억해 둘 파이썬 문법&개념 (0) 2023.08.19 [Python] return self는 method chaining을 위함이다. (0) 2023.08.05 [python#tip] PEP8- code style (0) 2023.07.26 [Python 자료구조 #고급정렬3] 기수 정렬(radix sort), 카운팅 정렬(counting sort), 팀 정렬(Timsort) (0) 2023.06.02