Python 기초

9 . 제어문 - 반복문

imysydesu 2026. 5. 27. 17:37

 

 

 

 

- 파이썬의 반복문은 특정 코드를 여러 번 실행하기 위해 사용하는 제어문

- for 문, while 문

- for 문 -> 리스트, 문자열과 같은 객체의 요소를 순차적으로 반복할 때 사용

- while 문 -> 조건이 참인 동안 계속 실행, break와 continue를 통해 제어 가능

- 들여 쓰기를 통해 반복 범위를 구분하는 것이 특징

 

 

 


 

 

 

 

1 . while 문

 

 

  • 특정 조건이 참인동안 반복적으로 코드 블록을 실행하는 제어 구조
  • 주어진 조건이 참인 동안 반복적으로 코드 실행, 조건이 거짓이 되면 반복을 멈춤
  • 조건 -> 참, 거짓으로 표현될 수 있는 표현식이어야 함
  • 조건이 참일 시 계속 무한루프가 돌고 조건이 거짓이 되면 루프에서 탈출함

 

 

-기본값

 

while 조건:

     #조건이 참인 동안 실행될 코드

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

2 . for 문

 

 

 

- 시퀀스의 각 항목에 대해 반복 작업을 수행하는 반복문

- 지정된 범위 내에서 반복할 때 사용

- 반복할 요소들이 미리 정해져 있는 경우에 유용

 

 

 

 

- 기본값

 

for 요소 in 시퀀스:

     # 요소에 대한 작업 수행

 

 

- 요소 : 반복할 시퀀스의 각 항목이 for문의 실행 도중에 할당되는 변수

 

 

 

 

 

 

 

 

 

 

 

- 기본 출력인 for i in dict1: print(i, end=' ')는 키만 반환

 

 

 

- print 함수 뒤의 괄호에 있는 dict1[i]는 해당 키에 대응하는 값을 가져오라는 뜻 -> 값 반환

 

 

 

- dict1.get(i) -> dict1의 특정 키에 대한 값을 가져오라는 의미

- 특정키는 괄호 안에 들어감 -> 괄호 안을 i로 설정 -> i의 값 반환

 

 

 

 

 

 

 

 


 

 

 

 

3 . range() 함수

 

 

 

 

  • 파이썬에서 순차적인 정수의 시퀀스를 생성하는 데 사용되는 내장 함수
  • 주로 for문과 함께 사용, 일정한 범위 내에서 반복 작업을 수행할 때 유용하게 활용
  • 이 함수의 결과로 생성되는 정수 시퀀스는 실제로 메모리에 저장되지 않음 -> 큰 범위 반복문에 활용 가능

 

 

 

-기본값

 

range([start], stop, [step])

 

-> [] : 생략 가능

 

 

 

  • start [생략 가능] : 순차적인 범위의 시작 값 지정, 기본값 -> 0
  • stop : 순차적인 범위의 끝 값, stop값 직전까지의 정수 포함
  • step [생략 가능] : 순차적인 값을 증가시키는 간격 지정, 기본값 -> 1 

 

 

 

 

 

  • 1부터 100까지의 짝수의 총합 구하기

 

- for문

 

 

- for, if 문

 

 

 

 


 

 

 

 

 

4 .  enumerate() 함수

 

 

  • 파이썬에서 반복문을 사용할 때 인덱스와 값을 함께 가져오기 위해 사용되는 내장 함수
  • 주로 for문과 함께 사용, 반복문 내에서 순서를 추적하면서 값과 해당 값의 인덱스를 함께 사용할 때 유용
  • (인덱스, 값)의 튜플을 반환하는 이터레이터 생성

 

 

 

- 기본값

 

enumerate(iterable(인덱스), [start = 0](값))

                  

 

 

 

  • iterable(반복 가능 객체) : 리스트, 튜플, 딕셔너리, 문자열과 같은 컬렉션 자료형은 반복 가능한 객체로 이터레이터를 생성할 수 있음
  • [start = 0] : 기본값, 생략 가능

 

 

 

- start를 2로 설정 : 인덱스 번호 2 자리에 있는 것부터 실행하는 것이 아닌 인덱스 번호 출력시에 2부터 시작

  => 데이터를 건너뛰는 게 아니라 번호표의 시작점을 바꾸는 것 

 

 

 

 

 

- 언패킹 : 변수 두 개 지정해놓으면 파이썬이 알아서 나눠서 분리해 줌

 

 

 

 

 

 


 

 

 

 

 

 

5 . 이터러블과 이터레이터

 

 

 

 

5 - 1 . 이터러블 (iterable)

 

  • for문처럼 반복문에서 사용할 수 있는 모든 객체를 의미
  • 이터러블한 객체는 for item in 객체: 구조에서 사용 가능
  • 모든 순서 있는 컬렉션은 이터러블
  • 모든 이터러블이 순서가 있는 것은 아님, set dict, keys()는 반복은 되지만 인덱스가 없음

 

 

 

5 - 2 . 이터레이터 (iterator)

 

  • 값을 하나씩 꺼낼 준비가 된 객체
  • 이터러블 객체는 iter() 함수를 사용해서 이터레이터로 바꿀 수 있음
  • next()를 사용해 값을 하나씩 꺼낼 수 있음

 

ex)  next(iter(iterable)) : 값을 순서대로 하나씩 꺼낼 수 있음

 

 

 

 

 

 

 


 

 

 

 

 

 

6 . zip() 함수

 

 

  • 파이썬에서 여러 개의 반복 가능한 이터러블 객체를 병렬적으로 묶어주는 내장 함수
  • 각 객체로부터 순서대로 하나의 요소씩 가져와 튜플로 묶어주는 이터레이터 반환
  • 주로 여러 개의 리스트나 튜플을 병렬적으로 처리하고자 할 때 사용

 

 

- 기본값

 

zip(iterable1, iterable2, ...)

 

 

 

 

  • 오류가 날 가능성이 높은 코드

 

  • zip() 함수 사용 예

 

- 튜플 안에 있는 알맹이들만 꺼내서 각각 변수에 담은 것이기 때문에 괄호 없음

- 하지만 튜플임 !

 

 

 

- 변수를 하나만 설정하면 해당 튜플 안에서 특정 값을 꺼내기 위해 인덱스를 일일이 지정해야 함

 

 

 

 

 


 

 

 

 

 

7 . continue

 

 

  • 파이썬의 반복문 안에서 사용
  • 현재 반복을 즉시 건너뛰고 다음 반복으로 넘어가도록 하는 제어문
  • continue 아래에 있는 코드는 실행하지 않고 반복문의 처음으로 돌아가 다음 조건을 검사하거나 다음 요소 처리

 

 

 

 

 

 


 

 

 

 

8 . break

 

 

  • 파이썬의 반복문 안에서 사용
  • 반복을 즉시 종료시키는 제어문, 반복문의 조건과 상관없이 해당 반복문을 완전히 빠져나옴
  • 주로 특정 조건을 만족하면 더 이상 반복을 진행할 필요가 없을 때 사용

 

 

 

 

 

 

 


 

 

 

 

 

 

9 . 중첩 반복문

 

 

  • 파이썬에서 중첩된 반복문은 하나의 반복문 안에 다른 반복문이 포함된 구조
  • 중첩 반복문은 외부 반복문의 각 반복마다 내부 반복문이 모두 실행되는 방식으로 작동
  • 다차원의 데이터를 처리하거나 복잡한 작업을 수행할 수 있음

 

 

- 기본값

 

for 외부_변수 in 외부_시퀀스:

     for 내부_변수 in 내부_시퀀스:

          # 내부 반복문 코드

     # 외부 반복문 코드

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

10 . 컴프리헨션 (Comprehension)

 

 

 

  • 파이썬에서 리스트, 세트, 딕셔너리 등의 컬렉션을 간단하게 생성하거나 변형하는 방법 중 하나
  • 반복문과 조건문을 사용하여 간결하게 컬렉션을 생성하는 기법
  • 코드를 더 간단하고 가독성 좋게 작성할 수 있도록 도와줌

 

 

 

10 - 1 . 리스트 컴프리헨션

 

 

  • 새로운 리스트를 생성하는 데 사용
  • 기존 리스트의 각 요소를 반복하면서 조건을 적용해 새로운 리스트 생성

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10 - 2 . 세트 컴프리헨션

 

 

  • 기존 세트의 각 요소를 반복하면서 조건을 적용하여 새로운 세트 생성

 

 

 

 

 

 

 

10 - 3 . 딕셔너리 컴프리헨션

 

 

  • 기존 딕셔너리의 키와 값을 반복하면서 조건을 적용하여 새로운 딕셔너리 생성
  • 리턴값이 키:값 형태

 

 

 

 

 

 

 


 

'Python 기초' 카테고리의 다른 글

11 . 객체지향 프로그래밍(OOP)  (0) 2026.05.28
10 . 사용자 정의 함수  (0) 2026.05.28
8 . 제어문 - 조건문  (0) 2026.05.26
7 . 컬렉션 타입 (세트, 딕셔너리)  (0) 2026.05.26
6 . 컬렉션 타입 (리스트, 튜플)  (0) 2026.05.26