파이썬 하루 하나씩 배우기: – for 반복문과 range() 함수 완전 정복
반복문은 프로그래밍에서 필수적인 개념 중 하나입니다. 특히 파이썬의 for
반복문과 range()
함수는 다양한 상황에서 유용하게 사용됩니다. 이 글에서는 파이썬의 for
반복문과 range()
함수의 사용법을 자세히 알아보겠습니다.
목차
- 1. for 반복문의 기본 구조
- 2. range() 함수의 다양한 사용법
- 3. 실전 예제: for와 range의 활용
- 4. 자주 발생하는 실수와 주의사항
- 5. 고급 사용법: enumerate와 zip 활용
- 6. 요약 및 마무리
1. for 반복문의 기본 구조
파이썬에서 for
문은 리스트, 튜플, 문자열과 같은 반복 가능한(iterable) 객체를 순회(iterate)할 때 사용합니다. 가장 기본적인 형태는 아래와 같습니다.
fruits = ['apple', 'banana', 'cherry'] for fruit in fruits: print(fruit)
위 코드는 리스트 fruits
의 각 요소를 순차적으로 출력합니다.
‘하나씩 꺼낸다’는 개념이 핵심입니다.
2. range() 함수의 다양한 사용법
range()
함수는 숫자 반복에서 매우 자주 사용됩니다. 기본 문법은 range(시작, 끝, 증가폭)
입니다. (끝은 포함하지 않습니다)
예시 | 설명 |
---|---|
range(5) | 0부터 4까지 (5개 숫자) |
range(2, 7) | 2부터 6까지 |
range(1, 10, 2) | 1부터 9까지 2씩 증가 |
“range는 반복문에 시간과 범위를 부여하는 도구입니다.”
3. 실전 예제: for와 range의 활용
다음은 for + range
를 활용해 구구단 2단을 출력하는 예제입니다.
for i in range(1, 10): print(f"2 x {i} = {2 * i}")
또는 특정 횟수만큼 문자열을 출력할 수도 있죠:
for _ in range(3): print("파이썬 좋아요!")
- range는 반복 횟수를 지정할 때 가장 많이 사용됩니다.
- for문은 데이터 전체를 순회할 때 강력한 도구입니다.
4. 자주 발생하는 실수와 주의사항
초보자들이 for
반복문을 사용할 때 자주 겪는 실수들을 정리해봤습니다.
- range 범위 실수:
range(1, 5)
은 1부터 4까지임을 기억하세요. 5는 포함되지 않습니다. - 변수 이름을 오타 낼 경우:
for i in range(5): print(j)
처럼j
를 쓰면 에러가 납니다. - 반복 대상이 없는 경우:
for x in []:
는 아무것도 실행되지 않아요.
“range는 숫자를 만드는 게 아니라, 반복을 설계하는 장치다.”
5. 고급 사용법: enumerate와 zip 활용
for
반복문은 단순 반복뿐만 아니라, 인덱스와 값을 동시에 다루거나 여러 리스트를 병렬로 처리할 때도 유용합니다.
colors = ['red', 'green', 'blue'] for idx, color in enumerate(colors): print(f"{idx}번째 색은 {color}")
두 개 리스트를 함께 순회하고 싶을 땐 zip()
을 사용하세요:
names = ['Alice', 'Bob', 'Charlie'] scores = [85, 92, 78] for name, score in zip(names, scores): print(f"{name}의 점수는 {score}점입니다.")
- enumerate(): 인덱스를 함께 출력할 때 유용
- zip(): 여러 iterable을 병렬로 순회
6. 요약 및 마무리
- 🔁
for
반복문은 리스트, 문자열 등 반복 가능한 자료형을 순회 - 🔢
range()
로 숫자 범위를 정할 수 있음 - 📌
enumerate()
,zip()
을 함께 쓰면 실무에서도 강력함 - ❗ 반복문의 흐름과 예외 케이스에 주의하세요
“반복은 기계처럼 보이지만, 설계는 철저히 인간적이다.”
for문을 배우고 난 뒤, 진짜 느낀 점들
“반복문을 배우기 전에는 ‘반복’이 귀찮은 일이었다.
배우고 나니, 반복은 생각을 줄이고 효율을 높이는 마법이었다.”
처음에는 for
문이 왜 필요한지도 몰랐습니다. 그냥 복사-붙여넣기로 똑같은 코드를 여러 줄 쓰면 되지 않을까 생각했죠.
하지만 ‘코드는 사람을 위해 존재해야 한다’는 걸 알게 된 순간, 반복문이 얼마나 위대한 설계 도구인지 깨달았습니다.
특히 range()
와 enumerate()
는 실제 프로젝트에서도 자주 쓰입니다.
지금은 리스트 10개쯤 있어도 당황하지 않아요. “반복문으로 정리하면 되겠군” 하고 생각하니까요.
✔ 실무 팁: 반복문 안에서 index가 필요할 땐 enumerate(), 2개 이상을 동시에 다룰 땐 zip()!
✔ 숙련 팁: for 문 안에서 너무 많은 일(조건, 반복, 처리)을 하지 말고 분리하는 습관을 들이세요.
“좋은 반복문은 지루하지 않다. 오히려 읽는 이에게 패턴의 쾌감을 준다.”
range(5)
는 range(0, 5)
와 동일하게 작동하며 0부터 4까지 5개의 숫자를 생성합니다. 두 형태는 표현만 다를 뿐 같은 결과를 냅니다.enumerate()
함수를 사용하세요. for i, v in enumerate(list):
처럼 사용하면 i
는 인덱스, v
는 값이 됩니다.for i in range(10): if i % 2 == 0: print(i)
→ 짝수만 출력됩니다.range(10, 0, -1)
처럼 세 번째 인자에 음수를 넣으면 감소하는 반복도 가능합니다. (결과: 10부터 1까지)for i in range(3): for j in range(2):
처럼 사용할 수 있으며, 주로 2차원 배열 처리나 구구단, 좌표 연산 등에서 자주 사용됩니다.for 반복문 & range() 완벽 시각 요약
📎 파이썬 공식 문서: for 문과 range()
https://docs.python.org/ko/3/tutorial/controlflow.html#for-statements
📎 W3Schools – Python for Loops
https://www.w3schools.com/python/python_for_loops.asp
“문법을 눈으로 익히면, 손으로도 자연스레 흐른다.”
오늘 배운 for
반복문과 range()
함수는 파이썬 입문자뿐 아니라 실무에서도 매우 자주 쓰이는 기본기입니다.
매일 조금씩 반복문을 써보며 손에 익히는 것이 중요합니다.
‘반복’은 지루한 것이 아니라, 효율을 위한 강력한 도구임을 기억하세요.
파이썬은 단순함 속에서 강력함을 지니고 있습니다. 내일도 한 걸음, 함께 나아가 보시죠!
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.