파이썬에는 C/C++나 자바에 존재하는 do-while 루프에 해당하는 문법이 없습니다. do-while 루프의 핵심 특징은 루프 조건을 본문 실행 후에 검사한다는 점으로, 덕분에 조건이 처음부터 거짓이더라도 루프 본문이 최소 한 번은 반드시 실행됩니다.
예제
이러한 동작은 조건 변수를 활용한 다음과 같은 파이썬 코드로 흉내 낼 수 있습니다.
condition = True
x = 0
while condition == True:
x = x + 1
print(x)
if x >= 5: condition = False출력 결과
1 2 3 4 5
동작 원리
위 코드는 조건 변수 condition을 True로 초기화하여 루프가 최소 한 번 실행되도록 보장합니다. 각 반복마다 본문이 먼저 실행되고, 마지막에 x >= 5 조건을 검사해 더 이상 반복할 필요가 없으면 condition을 False로 변경하여 루프를 종료합니다. 이는 C 계열 언어의 do-while 구조와 동일한 '본문 실행 → 조건 검사' 순서를 따릅니다.
대안: break 문 활용
실무에서는 while True와 break를 조합하면 같은 효과를 더 간결하게 얻을 수 있습니다.
x = 0
while True:
x += 1
print(x)
if x >= 5:
break두 방식 모두 결과는 동일하지만, break 방식이 코드가 짧고 가독성이 좋아 파이썬 커뮤니티에서 더 널리 사용되는 편입니다.