Python, with 문

이도현·2023년 10월 28일
0

파이썬 공부

목록 보기
6/7

0.개요

Python의 'with' 문은 일반적으로 "컨텍스트 관리자" 또는 "컨텍스트 관리 프로토콜"과 함께 사용. 자원을 획득하고 사용한 후에 이를 제대로 해제하는 것을 단순화
사용방법에 대해 간략히 알아보자.

1. 기본 구조 및 예시

1) 기본 구조

with expression as variable:
	# code block
  • expression: 컨텍스트 관리자를 반환하는 표현식
  • enterexit 매직 메서드를 구현해야함
  • variable: expression에서 반환된 값을 할당받는 변수
  • enter: 메서드의 반환 값이 이 변수에 할당

2) 예시

with open('example.txt', 'r') as file:
	contents = file.read()
  • open(): 파일을 열고 파일 객체를 반환
  • 자동으로 닫힘
class MyResource:
    def __enter__(self):
        print("Resource Acquired")
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print("Resource Released")

with MyResource() as resource:
    print("Using Resource")

3. 장점

  • 자원 관리와 단순화: 'with'문을 사용하면 자원의 할당과 해제를 자동으로 관리
  • 코드의 가독성: 자원 관리 코드를 분리함으로써, 주요 비지니스로직에 집중
  • 오류 처리의 간소화: 예외가 발생해도 'exit' 메서드가 호출 됨.
profile
좋은 지식 나누어요

0개의 댓글