태코놀로지

while, for loop에서의 else 구문 본문

Python3

while, for loop에서의 else 구문

태코놀로지 2017. 1. 8. 14:52

while, for loop에서의 else 구문


Python3 반복문에서 특이한 점은 while 문과 for 문에 else 사용이 가능하다는 것이다. 기존까지 다뤘던 언어에서 else란 if 구문과 짝이 맞는 것이었는데, 반복문과 같이 쓰려니 어색한 부분이 있다. Python3에서는 while이나 for 반복문에 포함될 수 있는 break와 짝을 이뤄서 사용되는 것이 else라고 볼 수 있다. break에 의해서 반복문이 종료되었다면 else 이하를 생략하고, 반복문이 종료될 때까지 break가 발생하지 않았다면 else 이하가 실행되는 구조다. 또 반복문의 조건이 False인 경우, else 이하 코드가 실행된다.


반복문의 else 사용에 대해서는 비관적인 얘기가 있다. 반복문과 else를 함께 사용하는 코드에 대해서 처음 접하는 개발자들이 이해하기 어려울뿐더러 다른 방법으로 해당 기능을 충분히 수행할 수 있기 때문에 굳이 사용하는 것을 장려하지 않는 편이다. 이를 테면, 아래의 두 가지 방법이 대부분의 개발자들이 파이썬을 포함하여 다른 언어에서도 빈번히 사용하는 방법이며, 더 쉽게 이해할 수 있다.


1. 루프 안에서 특정 값을 찾은 경우, 즉시 break로 루프를 중단한다.

2. 동일한 동작을 수행하는 헬퍼 함수를 사용한다.


나 역시 코드 작성에 있어서 1번 방법을 선호하고 있으며, 파이썬 책을 보다가 알게된 else의 새로운 기능이어서 간단하게 정리해봤다.

Comments