파이썬을 배우다 보면 반드시 마주치는 문법이 있어요. 바로 for문이에요. 같은 코드를 여러 번 복사 붙여넣기 하지 않고도 반복 작업을 깔끔하게 처리할 수 있는 강력한 기능이죠. 오늘은 파이썬 for문을 처음 배우는 분들도 이해할 수 있도록, 기본 문법부터 실전 예제, 실수 방지 팁까지 차근차근 설명드릴게요.
for문
은 특정한 작업을 여러 번 반복하고 싶을 때 사용하는 문법이에요.
리스트처럼 여러 개의 값을 가지고 있는 자료형을 하나씩 꺼내면서, 그 값에 대해 같은 코드를 반복해서 실행할 수 있게 도와줘요. 예를 들어, 친구들 이름이 담긴 리스트가 있을 때, 각각의 이름을 한 줄씩 출력하고 싶다고 해볼게요.
friends = ['Jin', 'Mina', 'Paul']
for friend in friends:
print(friend)
위 코드에서 friends
리스트 안의 값을 friend
라는 변수에 하나씩 꺼내서 print()
함수로 출력하고 있어요. 결과적으로 Jin
, Mina
, Paul
이 한 줄씩 출력되겠죠. 이처럼 for문
을 사용하면, 같은 코드를 여러 번 복사해서 쓰지 않아도 돼서 훨씬 효율적으로 프로그래밍할 수 있어요.
프로그래밍에서는 '반복'이 굉장히 자주 등장해요. 예를 들어, 리스트에 담긴 값들을 하나씩 출력하거나, 1부터 100까지 숫자의 합을 구하고 싶을 때, 매번 코드를 반복해서 쓰는 건 비효율적이에요. 이럴 때 필요한 것이 바로 반복문, 그중에서도 가장 직관적이고 많이 쓰이는 게 for문이에요. 다른 언어에 비해 훨씬 간단하고 읽기 쉬운 문법을 제공해요.
위에서 설명드린 내용을 하나씩 조금 더 자세하게 뜯어볼게요. 가장 기본적인 형태는 아래와 같아요.
for 변수 in 반복가능한_객체:
실행할_코드
이 구조를 이해하면 어떤 반복도 어렵지 않게 처리할 수 있어요. 예를 들어, 0부터 4까지 숫자를 출력하고 싶다면 이렇게 작성해요.
for i in range(5):
print(i)
range(5)
는 기본적으로 0부터 시작해서 총 5개의 숫자, 즉 0, 1, 2, 3, 4를 생성해요. i
는 그 숫자들을 하나씩 받아서 print(i)
를 실행하게 돼요.
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
리스트에 있는 과일 이름이 하나씩 출력돼요.
for char in "python":
print(char)
문자열도 반복 가능한 객체(iterable)예요. 그래서 문자 하나하나를 for문
으로 꺼낼 수 있어요.
for i in range(1, 6):
print(i)
1부터 5까지의 숫자를 출력해요.
range(5)
는 1부터가 아니라 0부터 시작해요. 원하는 범위보다 하나 적게 나올 수 있어요.for문
안의 들여쓰기를 지키지 않으면 IndentationError
가 발생해요. 파이썬에서는 들여쓰기가 문법의 일부이기 때문에 반드시 맞춰야 해요.파이썬에서는 for문과 함께 사용할 수 있는 유용한 함수들이 있어요.
enumerate()
는 반복하면서 현재 요소의 인덱스(순서)도 함께 알고 싶을 때 사용해요. 인덱스와 값을 동시에 꺼낼 수 있어서 코드가 더 깔끔해지고 직관적이에요.
fruits = ['apple', 'banana', 'cherry']
for i, fruit in enumerate(fruits):
print(i, fruit)
zip()
은 여러 리스트를 동시에 반복할 수 있게 해줘요. 이때, 가장 짧은 리스트 기준으로 반복이 종료돼요.
names = ['Tom', 'Jane', 'Anna']
scores = [80, 90]
for name, score in zip(names, scores):
print(name, score) # 'Anna'는 출력되지 않아요
break
: 반복을 중단할 때 사용해요.continue
: 현재 반복을 건너뛰고 다음 반복으로 넘어갈 때 사용해요.# break 예시
for i in range(5):
if i == 3:
break
print(i) # 0, 1, 2 출력
# continue 예시
for i in range(5):
if i == 3:
continue
print(i) # 0, 1, 2, 4 출력 (3은 건너뜀)
enumerate
, zip
, break
, continue
등을 함께 익히면 훨씬 강력하게 활용할 수 있어요.이 내용을 더 쉽고 재밌게 배우고 싶다면, 코드잇의 국비지원 강의 <Python 프로그래밍 기초> 과정을 추천드려요. 내일배움카드만 있다면 누구나 45만원 국비 지원을 받고 합리적인 비용에 수강할 수 있어요.