본문 바로가기
AI 웹개발반/웹개발, 파이썬 기초

[python] for-else문 사용하기

by 째깍단 2023. 8. 15.

 

if-else 혹은 if-elif-else문은 각각의 조건을 만족하지 못할 경우 다음 조건문으로 넘어가 검증하는 식으로 되어있다

 

그렇다면 for - else는 어떨까?  반복문 예외처리를 정리해보았다

 

 

 

 

for문 기본 개념

 

for문은 mutable객체를 처음부터 끝까지 반복하여 실행하는 반복문으로, 모든 요소를 순회하면 종료된다

 

for문에 else를 사용하게 될 경우 기본적으로 모든 요소를 순회 한 후

결과에 따라 추가 작업을 실행하고자 할 때 else문에 코드를 작성할 수 있다

 

 

 

 

 

 

for문은 그냥 사용하면 for문의 모든 요소를 반복하여 돈다.

기본 for else도 마찬가지로 for문의 모든 요소를 돈 후에 결과가 있든 없든 else를 출력하게 된다

 

 

- for문의 모든 요소를 돌고 결과가 있든 없든 else를 출력한다.

for item in iterable:
    # 루프 내용
else: 
    # 모든 요소를 순회한 후 실행되는 코드

 

 

 

 

 

만약 for문if 혹은 if else조건이 있다면 어떨까?

 

for에 if조건이 있을 경우 if 조건을 충족하면 break 하는 식을 작성해보았다.

 

for 루프 안에서 break를 하는 경우에는 for-else가 실행되지 않고,

break없이 for 루프가 종료되는 경우 for-else가 실행되게 된다

 

 

 

- for에 if조건, 조건을 충족하면 break, 아닌 경우 for-else를 출력

 

for item in iterable:
    if condition:
        # 조건을 충족하는 경우 실행
        break
else:
    # 조건을 충족하지 않은 경우 실행

 

 

- for-else + if-else, for 루프시 if든 else든 break를 하면 for-else 미출력.

   else문에 break가 없으면 for-else출력

 

for item in iterable:
    if condition:
        # if가 True시 1 조건식 실행
        break
    else:
        # if가 False 시 2 조건식 실행 
else:
    # 3 조건식 : for문의 모든 요소를 충족하지 못했을경우에만 실행

 

for-else 문에서 else 블록은 for 루프 내에서 break 문이 실행되지 않았을 때만 실행된다.

if-else 문 내의 break 여부와는 무관하다.

 

만약 for 루프가 모든 항목을 순회한 후에도 break 문이 실행되지 않았다면 else 블록이 실행된다.

 

 

 

 

 

 

+++ 추가로 알아보기

 for-else와 try-except 와의 차이점

 

for-else 문 :

  • for-else 문은 특정 조건이 만족되지 않았을 때 실행되는 추가 코드를 작성 시 사용된다.

  • for 루프의 반복이 끝났을 때, 즉 모든 항목을 순회한 후에 break 문이 실행되지 않았을 때만 else 블록이 실행된다.
  • else 블록 내에서 어떤 추가 작업을 수행하고자 사용된다.

 

try-except 문 :

  • try-except 문은 코드 실행 중에 예외를 처리하고 프로그램의 실행 흐름을 제어하기 위해 사용한다.

  • try 블록 내의 코드에서 예외가 발생하면, 해당 예외를 처리하기 위해 except 블록이 실행된다.
  • 예외가 발생하지 않으면 except 블록은 실행되지 않는다.

 

 

요약

for-else 문은 반복문의 결과에 따라 추가 작업을 수행하고자 할 때 사용되고,

try-except 문은 예외 상황을 처리하고자 할 때 사용된

 

이 두 구문은 서로 다른 상황에서 사용되며 목적도 다르다