본문 바로가기
공부/개발

파이썬 for문과 while문의 차이점 완벽 정리!

by kkangyU 2025. 2. 19.
반응형

오늘은 파이썬에서 반복문을 실행하는 두 가지 방법인 for문과 while문의 차이점을 정리해 보았다.
둘 다 반복을 수행하지만 사용 목적과 동작 방식이 다르므로 적절한 상황에서 선택하는 것이 중요하다.
이번 글에서는 for문과 while문의 개념, 차이점, 그리고 각각의 사용 예시를 정리해보았다. 😊

✅ for문과 while문의 기본 개념

📌 for문이란?

  • 리스트, 튜플, 문자열, range()와 같은 반복 가능한(iterable) 객체를 순회할 때 사용
  • 반복 횟수가 정해져 있는 경우에 적합
for i in range(3):
    print("반복 중:", i)

📌 실행 결과:

반복 중: 0  
반복 중: 1  
반복 중: 2  

💡 for문은 특정 범위나 리스트에 있는 요소를 하나씩 가져와 반복하는 구조이다.
💡 range(3)은 0, 1, 2 값을 순서대로 반환하며 반복된다.

📌 while문이란?

  • 조건이 참(True)인 동안 계속 반복
  • 반복 횟수가 정해져 있지 않은 경우에 적합
count = 0
while count < 3:
    print("반복 중:", count)
    count += 1

📌 실행 결과:

반복 중: 0  
반복 중: 1  
반복 중: 2  

💡 while문은 조건이 거짓(False)이 될 때까지 계속 반복된다.
💡 만약 조건을 변경하지 않으면 무한 반복(무한 루프)에 빠질 수 있으므로 주의해야 한다.

✅ for문과 while문의 주요 차이점

비교 항목 for문 while문

사용 목적 정해진 횟수만큼 반복 조건이 만족될 때까지 반복
반복 횟수 미리 알고 있음 모를 수도 있음
반복 대상 리스트, 튜플, 문자열, range() 등 논리적 조건
종료 방식 요소가 없을 때 자동 종료 조건이 False가 될 때까지 반복
추천 사용 사례 목록 순회, 특정 범위 반복 사용자 입력 대기, 특정 조건 만족 시 종료

✅ for문과 while문의 사용 예시 비교

📌 1. 리스트 요소 출력하기 (for문)

fruits = ["사과", "바나나", "포도"]

for fruit in fruits:
    print(fruit)

📌 실행 결과:

사과  
바나나  
포도  

💡 for문은 리스트 같은 반복 가능한(iterable) 객체에서 요소를 하나씩 꺼내 사용할 때 적합하다.

📌 2. 특정 조건 만족할 때까지 반복하기 (while문)

num = 0
while num < 3:
    print(num)
    num += 1

📌 실행 결과:

0  
1  
2  

💡 while문은 조건이 충족될 때까지 계속 반복하므로, 종료 조건을 명확히 설정해야 한다.

✅ for문 vs while문 속도 차이 비교

for문과 while문 중 어떤 것이 더 빠를까?
일반적으로 for문이 while문보다 빠르다.
왜냐하면 for문은 반복 횟수를 미리 알고 있기 때문에 최적화되어 동작하기 때문이다.

import time

# for문 속도 테스트
start_time = time.time()
for i in range(1000000):
    pass
end_time = time.time()
print("for문 실행 시간:", end_time - start_time)

# while문 속도 테스트
start_time = time.time()
count = 0
while count < 1000000:
    count += 1
end_time = time.time()
print("while문 실행 시간:", end_time - start_time)

📌 일반적으로 while문보다 for문이 약간 더 빠르게 실행된다.
📌 그러나 코드의 실행 속도 차이는 크지 않으므로 상황에 맞는 반복문을 선택하는 것이 중요하다.

✅ break와 continue의 활용 차이

📌 break: 반복문 강제 종료

for i in range(5):
    if i == 3:
        break
    print(i)

📌 실행 결과:

0  
1  
2  

💡 break를 사용하면 특정 조건을 만족할 때 반복문을 즉시 종료할 수 있다.

📌 continue: 특정 조건에서 현재 반복을 건너뛰고 다음 반복 실행

for i in range(5):
    if i == 3:
        continue
    print(i)

📌 실행 결과:

0  
1  
2  
4  

💡 continue를 사용하면 특정 조건을 만족할 때 현재 반복을 건너뛴 후 다음 반복을 계속 진행한다.

✅ for문과 while문, 언제 사용하면 좋을까?

상황 추천 반복문

반복 횟수를 알고 있을 때 for문 반복 횟수가 정해져 있어 최적화된 방식
리스트, 튜플, 문자열 등의 요소를 순회할 때 for문 반복 가능한 객체(iterable)를 다룰 때 유용
반복 횟수를 모르는 경우 while문 조건이 만족될 때까지 반복 가능
사용자 입력을 받을 때 while문 특정 조건이 충족될 때까지 무한 반복 가능
특정 조건에서 반복을 종료해야 할 때 while문 + break 원하는 시점에서 즉시 종료 가능

🎯 오늘 배운 핵심 내용 정리

for문은 미리 정해진 범위를 반복하는 데 적합하며, while문은 특정 조건을 만족할 때까지 반복하는 데 사용된다.
for문은 리스트, 튜플, 문자열 등의 요소를 순회할 때 유용하다.
while문은 특정 조건이 충족될 때까지 반복하는 프로그램(예: 사용자 입력 대기)에 적합하다.
일반적으로 for문이 while문보다 실행 속도가 빠르지만, 큰 차이는 없다.
break는 반복문을 즉시 종료하고, continue는 특정 조건을 건너뛰고 다음 반복을 실행한다.

💡 앞으로의 학습 계획

✔ 오늘은 for문과 while문의 차이점과 사용법을 학습했다!
✔ 다음에는 반복문과 리스트, 딕셔너리를 조합한 실전 예제를 연습할 예정이다.
✔ 현실에서 활용할 수 있는 더 다양한 반복문 응용 프로그램을 만들어 보면 좋을 것 같다.

반응형