Python의 while-else와 for-else 구문에 대해 알아보겠습니다. 이 구문들은 다른 프로그래밍 언어에서 흔히 볼 수 없는, Python 특유의 기능입니다. 각각의 구문이 어떻게 작동하고, 어떤 상황에서 유용하게 사용될 수 있는지 설명하겠습니다.
while-else 구문
Python에서 `while` 루프는 조건이 True인 동안 반복적으로 코드 블럭을 실행합니다. 그리고 `else`는 `while` 루프가 더 이상 실행할 조건이 없을 때, 즉 조건이 False가 되어 루프가 정상적으로 종료될 때 실행됩니다. 만약 루프 내에서 `break`를 사용해 루프를 강제로 종료한다면, `else` 블럭은 실행되지 않습니다.
count = 0
while count < 3:
print(f"Count: {count}")
count += 1
else:
print("루프가 정상적으로 종료되었습니다.")
for-else 구문
`for` 루프는 반복 가능한 객체(리스트, 튜플, 딕셔너리 등)를 순회합니다. `else` 구문은 `for` 루프가 반복 가능한 객체의 모든 요소를 순회하고 난 후에 실행됩니다. 마찬가지로, `for` 루프 내에서 `break`를 사용해 루프를 조기에 종료한다면, `else` 블럭은 실행되지 않습니다.
numbers = [1, 2, 3]
for num in numbers:
print(f"Number: {num}")
else:
print("루프가 모든 요소를 순회하고 종료되었습니다.")
주의사항
- `while` 또는 `for` 루프가 한 번도 실행되지 않는 경우에도, `else` 블럭은 실행됩니다. 이는 루프의 조건이 처음부터 False인 경우에도 해당됩니다.
- `break`를 사용해 루프를 조기 종료하는 경우는 `else` 블럭이 실행되지 않습니다. 이는 `else` 블럭이 루프가 중단 없이 '정상적으로' 종료될 때만 실행되도록 설계되었기 때문입니다.
이러한 구문은 특정 조건이 충족될 때까지 반복하고, 그 조건이 더 이상 충족되지 않을 때 추가 작업을 수행해야 할 때 유용합니다. 예를 들어, 어떤 리스트에서 특정 요소를 찾고 찾지 못했을 때만 특정 작업을 수행하고자 할 때 사용할 수 있습니다.
참고자료
[1] star가 되고나서 - [Python] 파이썬 for - else, while - else 구문 사용법과 예시
https://star7sss.tistory.com/464)
[2] 위키독스 - 2.5 for-else와 while-else - 왕초보를 위한 Python
[3] TISTORY - [Python] for ~ else, while ~ else를 사용하는 방법
https://skeo131.tistory.com/69
[4] 인프런 - (파이썬)for-else를 대체할 수 있을까? - 김한울님의 블로그
https://www.inflearn.com/blogs/127
'공부 > Python' 카테고리의 다른 글
[Python] all() 함수 (0) | 2024.05.10 |
---|---|
[Python] swap (0) | 2024.04.17 |
[점프 투 파이썬 ] 05장 클래스, 모듈 패키지, 예외처리, 내장함수, 라이브러리 (0) | 2023.04.09 |
[점프 투 파이썬 ] 04장 입력과 출력 (0) | 2023.04.09 |
[점프 투 파이썬 ] 03장 제어문 (0) | 2023.04.08 |