본문 바로가기

개발자 레니는 지금 -/소프트웨어와 함께

[ Python ] for, while 루프에 else 문을 쓸 수 있다!?



`for` and `while` loops can have an else branch


- I  translate a subscribe script from `Real Python` # `Real Python`에서 제공해주는 스크립트를 해석한 내용입니다.

- 자세한 코드 및 주석은 아래 GitHub를 클릭해주세요.

Leni post with by GitHub 2019/05/22



else 구문을 언제 사용할까?

1
2
3
4
5
for item in haystack:
    if item == needle:
        break
else:
    raise ValueError('Needle not found')



for문과 같은 라인에 else를 사용하면 for문 실행동안 `break` 문구를 만나지 못하면 else 문이 실행 됩니다.


하지만,

굳이 이렇게 써야 하나의 의문이 있습니다. 제공은 하지만 쓰지 않을 것 같은 기능이랄까요.

있다는 것 정도는 알아 두어야 할 것 같아 작성하지만 실용성은.. 글쎄요 🤨


보통 멤버 변수 확인을 위해 사용하게 되면 아래와 같이 쓰는 것이 좀 더 Pythonic 한 코드입니다.


1
2
if needle not in haystack:
    raise ValueError('Needle not found')