Posts [Python] With문 이해하기
Post
Cancel

[Python] With문 이해하기

Python

- 개념

자원을 획득하고 사용 후 반납해야 하는 경우 주로 사용합니다.

1) 자원을 획득한다
2) 자원을 사용한다
3) 자원을 반납한다

- 문법

1
2
with EXPRESSION [as VARIABLE]:
	BLOCK

- 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Hello:

    def __enter__(self):
        # 사용할 자원을 가져오거나 만든다(핸들러 등)
        print('enter...')
        return self # 반환값이 있어야 VARIABLE를 블록내에서 사용할 수 있다
        
    def sayHello(self, name):
        # 자원을 사용한다. ex) 인사한다
        print('hello ' + name)

    def __exit__(self, exc_type, exc_val, exc_tb):
        # 마지막 처리를 한다(자원반납 등)
        print('exit...')
        
with Hello() as h:
    h.sayHello('obama')
    h.sayHello('trump')

# 결과
enter...
hello obama
hello trump
exit...

- 해석

클래스의 객체를 바로 만들고 만든 객체를 이용하여 인사를 하고 만든 객체를 소멸시킵니다.

객체의 라이프사이클 (생성 » 사용 » 소멸) 을 설계할 수 있습니다.

저자는 이 저작물에 대해 CC BY-NC 4.0 라이선스를 가집니다.

[Javascript] Routie

[Python] Pass, Continue, Break

Loading comments from Disqus ...