1 개요
명령을 일정 횟수만큼, 혹은 어떤 조건 안에서 반복수행하게끔.
1.1 형태
기본적으로 조건문의 형태와 동일하다.
형태 | 방법 | 사용 | 예시 |
---|---|---|---|
while | while 조건:
명령
|
반복횟수가 명확하지 않을 때.
조건에 따라 돌린다. 조건식이 True일 동안 반복한다. |
while 0< x <=3:
x-=1
|
for | for 변수 in 자료구조:
명령
|
반복횟수가 명확할 때.
자료구조와 함께 사용할 때 쓴다. 자료구조의 요소를 반복하여 변수에 대입해 쓴다. |
for x in (1,2,3):
x-=1
|
2 while
형태 | 방법 |
---|---|
기본형 | while 0< x <=3:
x-=1
|
else | while 0< x <=3:
x -= 1
else:
x += 1
|
3 for
형태 | 방법 | 비고 |
---|---|---|
기본형 | for 변수 in 자료구조:
명령
|
|
자료구조 안에 또 자료구조가 있을 때 | for 변수1, 변수2 in [[1,2],[3,4],[5,6]]
명령
|
변수 갯수가 맞지 않는 경우엔 에러가 난다. |
else | for 변수 in 자료구조:
명령
else:
명령
|
3.1 range
반복문은 range() 와 함께 많이 쓴다. 명령에 따라 리스트를 만들어주는 함수이다.(실제 데이터형은 range라는 데이터형으로, 리스트와 구분해서 쓰인다.)
의도 | 방법 | 예시 | 결과 |
---|---|---|---|
기본형태 | range(종료숫자)
range(시작숫자, 종료숫자, 증가량) range(시작숫자, 종료숫자) |
||
1부터 9까지 | range(1, 10, 1) #10을 만나면 종료해버린다. | range(10, 1, -1)
|
|
10부터 1까지 | range(10, 0, -1) | range(10, 1, -1)
|
3.2 enumerate
의도 | 설명 | 예시 |
---|---|---|
기본형태 | for문을 돌리며 변수와 함께 수를 세주는 역할이 필요할 때. | for i, x in enumerate(['A', 'B', 'C']):
# i는 0부터 순차적으로 올라가고,
# x는 A부터 나온다.
|
3.3 zip
특정 데이터를 커플링하고 싶을 때 사용한다.
의도 | 설명 | 예시 |
---|---|---|
두 리스트를 하나로 | 각각의 n번 원소를 하나의 튜플로 합쳐준다.
[1, 2, 3], ["A", "B", "C"]을 [(1, 'A'), (2, 'B'), (3, 'C')]로. |
pairs = list(zip(list1, list2))
|
두 리스트를 하나의 사전처럼 | 순번이 동일한 리스트가 있고, 이 둘을 동시에 순회해야 할 때. | for i, j in zip(list1, list2):
....
|
4 분기문
실행위치를 이동시키는 명령.
4.1 break
반복문 안에서 반복문을 깰 때 사용한다. 조건문 안에서 반복문을 깰 때 사용할 수 있다.
자기 바로 위의 반복문을 탈출한다.
4.2 continue
해당 반복은 수행하지 않고 다음 반복으로 건너뛴다. 다음 코드의 출력은 0, 1, 3, 4, 5 이다.
for i in range(6):
if i == 2:
continue
print(i)
4.3 pass
있으나 마나한 기능이지만.. if나 for문 안에서 내용을 들여쓰기 하지 않으면 에러가 나는데, 내용을 나중에 채워넣기 위해 사용하는 구문. 다음과 같은 때에 사용한다.
if 1>x:
pass # 내용은 나중에 넣자.
def 함수명():
pass # 함수를 정의하긴 하는데, 내용은 나중에 넣자.
class 클래스명():
pass # 클래스를 정의하긴 하는데, 내용은 나중에 넣자.