python for else , while else

BackEnd_Ash.log·2021년 2월 18일
0

파이썬

목록 보기
26/34

python 을 공부하다보면
for else , while else 에 대한 문법이 나오게 된다 .

이문법은 조금 생소하다 다른 문법에서는 이러문법이 존재하지 않기때문이다 .

for 문을 사용하게 될때 중간에 break 문을 통해서 빠져나와야하는경우가 있다.
그런데 우리가 break 문에 제대로 결러서 빠져나왔는가 ?? 모를땐
print() 을 찍어봐서 확인을 해봐야한다.
그런데 python 에선
for else 를 통해서 판단할 수있게 되어있다 .

for x in range(0 , 4):
  print(x)
  if x == 2:
    print ('loop break')
    break
else:
  print ('loop end')

실행하게 되면

중간에 if x ==2 : 조건문 걸려서 break 로 빠져나오게 된다.

for x in range(0 , 4):
  print(x)
  pass
else:
  print ('loop end')

만약에 break 없이 반복문이 끝났다면 그다음 else 문이 출력된다.
그런데 이러한 문법이 어떨때 쓰이게 될까?? 궁금증이 든다 .
굳이.. for else 문이 필요할까? ?

numbers = [1,2,3,4,5]
is_exsist_item = False
for number in numbers:
    print(number)
    if number==3:
        is_exsist_item = True
        break
if is_exsist_item:
    print(is_exsist_item)

결과가 이렇게 나오게 된다.

numbers = [1,2,3,4,5]
is_exsist_item = False

for number in numbers:
  print(number)
  if number==6:
    is_exsist_item = True
    break
else:
  raise Exception

만약 이렇게 된다면

하지만 만약에 조건문에 걸려서 break 에 걸리게 된다면 ,

numbers = [1,2,3,4,5]
is_exsist_item = False

for number in numbers:
  print(number)
  if number==3:
    is_exsist_item = True
    break
else:
  raise Exception

else 문이 실행되지 않는다.

정리

내가 만약에 반복문 도중에 break 문이 제대로 돌아갔는지 확인하기 위해서
for else 를 사용한다고 보면 되겠다.

profile
꾸준함이란 ... ?

0개의 댓글