처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / Python / 문제

Python의 __enter__와 __exit__ 매직 메서드가 구현된 객체를 무엇이라 하나요?

보통 MDN Web Docs
보기 및 정답
A 컨텍스트 매니저(Context Manager)로, with 문에서 리소스 획득과 해제를 자동 관리한다
B 데코레이터(Decorator)로, 함수에 추가 기능을 부여하여 동작을 변경하는 래퍼이다
C 이터레이터(Iterator)로, __iter__와 __next__를 구현하여 for 루프에서 순회를 가능하게 한다
D 제너레이터(Generator)로, yield 키워드를 사용하여 값을 지연 생성하는 함수이다

해설

__enter__와 __exit__를 구현한 객체는 컨텍스트 매니저로, with문과 함께 사용됩니다. with open('file.txt') as f:처럼 사용하면 블록이 끝날 때 __exit__가 자동 호출되어 파일 닫기, DB 연결 해제 등 리소스 정리를 보장합니다. 예외 발생 시에도 __exit__가 호출됩니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기