▶️15

with 문의 비밀: __enter__와 __exit__

파일 닫는 걸 또 깜빡했다 - 컨텍스트 매니저

학습 목표

__enter__와 __exit__ 메서드를 이해한다 with 문의 실행 순서를 파악한다 __exit__의 예외 처리 메커니즘을 안다

with 문의 비밀: __enter__와 __exit__
YouTube에서 보기

컨텍스트 매니저 프로토콜

with 문을 지원하려면 두 가지 매직 메서드가 필요합니다.

기본 구조

에디터 로딩 중...

with 문의 실행 흐름

에디터 로딩 중...

__exit__의 예외 처리

에디터 로딩 중...

핵심 인사이트

"컨텍스트 매니저는 리소스의 생명주기를 관리합니다. 획득(enter)과 해제(exit)를 자동화!"

핵심 포인트
  • __enter__: 리소스 획득, 반환값이 as 변수
  • __exit__: 리소스 해제, 예외 발생해도 항상 호출
  • __exit__ 반환값: True=예외 억제, False=예외 전파
  • with 문 = 자동 리소스 관리