if 문 이외에서의 else 블록

매일 공부(ML)·2023년 4월 17일
0

Fluent Python

목록 보기
109/130

제어 흐름

콘텍스트 관리자와 else 블록

with문은 콘텍스트 관리자 객체의 제어를 받아서 임시로 콘텍스트를 생성하고 신뢰성 있게 해제한다.

with문은 에러를 예방하고 반복되는 코드를 줄여주며, API를 안전하고 편리하게 사용할 수 있게 만들고, 파일을 자동으로 닫아주는 기능 이상을 with 블록이 제공하고 있다.

if 문 이외에서의 else 블록

else절은 if문뿐만 아니라 for,while,try문에서도 사용할 수 있다.


for

for루프가 완전히 실행된 후에 break 문으로 중간에 멈추지 않고 else 블록이 실행된다.

while

조건식이 거짓이 되어 while 루프를 빠져나온 후에 break 문으로 중간에 멈추지 않고 else 블록이 실행된다.

try

try블록에서 예외가 발생하지 않을 때만 else블록이 실행되고, else 블록에서 발생한 예외는 else블록 앞에 나오는 except 블록에서 처리되지 않는다.


예외, return, break, continue문이 복합문의 주요 블록을 빠져나오게 만들면 else블록이 실행되지 않는다.

일반적

for item in my_list:
	if item.flavor == 'banana':
    	break
else:
	raise ValueError('No banana floavor found!')

try/except블록

try:
	dangerous_call()
except OSError:
	log('OSError...')
else:
	after_call()

profile
성장을 도울 아카이빙 블로그

0개의 댓글