# 파이썬 제어문



1. for문의 기본적인 사용법


for문은 while문과 같이 특정작업을 반복해야 할 때 사용합니다. while문과의 차이점이라면 특정 조건식이 참인 동안 동작하는 것이 아니라 in 키워드 뒤에오는 자료 구조에 대하여 원소단위로 순환하며 순환이 끝날때 까지 반복합니다.

즉 in 뒤에 오는 객체는 반드시 iterable 해야 합니다. 


1
2
for each in 시퀀스자료형 or iterable한 객체:
    print(each)
cs


for 키워드 다음에 오는 each는 for문이 iterable 객체에 접근하여 원소를 하나씩 순환하는 동안에 원소 하나하나가 저장되기 위한 변수입니다. 이름은 아무렇게나 정하셔도 무방합니다. 아래 그림을 보고 다시한번 이해해 보도록 하겠습니다.


for문이 자료구조의 요소 각각에 접근하면서 그 요소들은 임시적으로 each에 저장되고 다음 스텝에서 다른 값으로 대체 됩니다. 


요약하자면 for문은 이터러블 객체를 인자로 사용하는 것이 가능하고 해당 객체의 요소 각각에 접근하는 방식으로 동작합니다. 

그러면 간단하게 숫자를 하나씩 늘려가면서 반복할 수 있는 fot문은 없을까요? 답은 간단합니다. 숫자요소로 이루어진 iterable 객체를 만들어서 인자로 사용하면됩니다. 게다가 파이썬에서는 이 방식을 지원하고 있습니다.

range라는 내장함수는 숫자로 이루어진 이터러블 객체를 만들어냅니다. 


1
2
3
range(10# [0,1,2,3,4,5,6,7,8,9]
range(1,10# [1,2,3,4,5,6,7,8,9]
range(0,10,2# [0,2,4,6,8]
cs


range는 3개의 int형 데이터를 인자로 받습니다. 첫 번째 인자는 시작점인데 ~이상 으로 해석할 수 있고 두 번째는 종료점입니다. ~미만 으로 해석 가능합니다. 마지막 인자는 step으로 작동합니다. 만약 첫번째 인자가 빈칸이라면 인터프리터는 이를 0부터라고 해석합니다.


이를 for 문에 적용하면 아래와 같이 사용할 수 있습니다.


1
2
for i in range(10):
    print(i)
cs


+ Recent posts