728x90
반응형

with-statement 2

Python의 '__enter__'및 '__exit__'설명

질문 : Python의 '__enter__'및 '__exit__'설명 누군가의 코드에서 이것을 봤습니다. 무슨 뜻이에요? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s 답변 이러한 매직 메서드 ( __enter..

파이썬 "with"문을 활용하는 방법

질문 : 파이썬 "with"문은 무엇을 위해 설계 되었습니까? 나는 with 성명서를 접했다. 저는 파이썬을 몇 달 동안 가볍게 사용해 왔지만 그 존재조차 몰랐습니다! 다소 모호한 상태를 감안할 때 다음과 같이 물어볼 가치가 있다고 생각했습니다. Python "with" 문은 무엇에 사용되도록 설계되었는가? 어디에 쓰는 것인가? 제가 알아야 할 gotchas나 그 사용과 관련된 일반적인 안티패턴이 있나요? 더 나은 경우는 "try..finally" 가 아니라 'with'? 왜 더 널리 사용되지 않는 건가요? 어떤 표준 라이브러리가 호환되나요? 답변 이 문제는 이전에 다른 사용자가 이미 답변했다고 생각하므로 완전성을 위해서만 추가합니다. with 문은 소위 컨텍스트 관리자 에서 일반적인 준비 및 정리 작업..

728x90
반응형