파이썬의 for 반복문 안에서 break 명령을 사용할 수 있는데 이 명령은 즉시 그것이 포함된 가장 안 쪽의 반복문을 빠져 나온다. 다음 반복문을 보자.
for n in lst:if n==0:breakprint(n) |
이것은 lst 안의 요소들을 차례대로 프린트하다가 0이 발견되면 바로 반복을 멈추는 프로그램이다. 만약 lst=[1,2,3,0,4,5] 라면 1,2,3만 출력되고 반복문은 종료될 것이다. 만약 반복문의 중첩되어 있다면 가장 안쪽의 반복문만 빠져 나온다는 점에 유의해야 한다.
파이썬의 for 반복문은 else 명령과 짝을 이룰 수도 있다.
for 변수 in 반복가능자:수행문들1else:수행문들2 |
else 블럭에 포함된 ‘수행문들2’는 for 반복문이 반복형의 마지막 요소까지 모두 반복했을 경우 그 다음에 수행된다. 즉, 모든 반복이 성공적으로 수행된 경우에 한 번 수행된다. 하지만 break문을 만나면 else 구문은 수행되지 않고 for 블럭을 완전히 빠져나간다.
for n in lst:if n==0: breakprint(n)else:print(‘There is no 0.’) # break문을 만나지 않았다면 수행된다. |
이 예제의 경우 lst 안에 0이 있다면 break를 만나게 되고 따라서 else 블럭은 수행되지 않고 for 반목문을 빠져 나오게 된다.
따라서 for 반복문이 종료된 시점에서 이 종료가 모든 반복을 다 수행한 후의 정상적인 종료인지, 아니면 break 명령에 의한 강제 종료인지에 따라서 수행해야 될 일을 구분할 필요가 있는 경우에 for~else 구문을 사용하면 된다.
'프로그래밍언어.Lib > 파이썬' 카테고리의 다른 글
파이썬의 continue 명령 (0) | 2015.05.27 |
---|---|
파이썬의 while ~ else 반복문 (0) | 2015.05.27 |
파이썬의 for반복문과 range형 (1) | 2015.05.26 |
파이썬의 if ~ elif ~ else 구문 (0) | 2015.05.26 |
파이썬의 나열형(sequence) (0) | 2015.05.25 |