본문 바로가기

개발환경/Python

파이썬으로 프로그래밍에 도전하자(4)

728x90

이 글의 주요 대상은 이제 프로그래밍에 첫 발을 들여놓는, 프로그래밍의 경험이 없는 분들을 대상으로 합니다.

 

"파이썬으로 프로그래밍에 도전하자" 네 번째 시간입니다.

지난 글에서는 파이썬에서 사용하는 조건문인 if ~~ elif OO else XX 구문에 대하여 살펴보았습니다.

 

오늘은 같은 작업을 반복해서 실행할 반복문에 대하여 알아보겠습니다.

사람은 하기 힘들어하지만 컴퓨터가 가장 잘 하는 일은 무엇일까요?

바로 단순한 작업을 계속해서 반복하는 것이겠죠.

사람에게 단순 작업을 반복해서 시키면 금방 지겨워져서 집중해서 일을 하지 못할 것입니다.

실수도 늘어나겠죠.

그렇지만 컴퓨터는 그럴 일이 없으니 반복 작업을 시키기에는 가장 좋은 일꾼입니다.

 

따라서 반복작업을 지시하는 명령은 컴퓨터에게 일을 잘 시키기 위한 매우 중요한 수단입니다.

 

파이썬에서 사용하는 반복문은 크게 For 문과 While 문의 두 가지로 구분됩니다.

그 중에서 가장 많이 사용되는 것이 For 문인데.. For 문은 다양한 활용 형태를 가집니다.

 

먼저 가장 기본적인 형태를 살펴보겠습니다.

먼저 1, 3, 4, 6, 7을 값으로 가지는 리스트를 area라는 변수에 할당했습니다.

그 다음의 for 문은 area 리스트 안의 값을 순서대로 하나씩 꺼내서 x에 할당하고, x에 하나의 값이 할당될 때 마다 print 문을 실행하라~ 라는 의미입니다.

그렇다면 area는 총 5개의 값을 가지고 있으니 print 구문을 5번 실행하겠죠.

그리고 출력되는 내용인 x는 area 리스트에서 순서대로 꺼낸 1, 3, 4, 6, 7이 순서대로 출력될 것입니다.

 

for 구문에는 리스트 외에도 문자열(문자열도 엄밀히 말하면 문자들의 리스트입니다), 딕셔너리, 범위 등이 사용될 수 있습니다.

각각의 예제를 살펴봅시다.

문자열을 사용한 예입니다.

문자열도 문자들의 리스트이니까 위의 예제와 동일하게 이해할 수 있습니다.

 

딕셔너리를 사용한 예입니다.

4개의 값을 잘 출력했습니다.

그런데 "Nice", "to", "meet", "you"를 출력하고 싶은데 이것은 어떻게 할까요?

for 구문이 사용하는 것은 딕셔너리에 포함된 값을 순서대로 꺼낸 것이기 때문에 "키:값"의 쌍에서 "키"만을 사용하고 있습니다.

그러면 우리는 area_dictionary 변수를 사용해서 출력해 줄 수 있겠죠.

키를 사용할 수 있으니까요.

키와 값이 모두 잘 출력되었습니다.

 

그런데 파이썬에서는 어떤 함수의 결과로 하나의 값만 받는 것이 아니라 두 개 이상의 값을 받을 수 있습니다.

그래서 area_dictionary 라는 딕셔너리 변수에서 우리가 사용할 수 있는 items라는 함수를 한 번 사용해 보겠습니다.

잘 나오는군요.

 

파이썬이 사용하는 모든 데이터 타입(형태)는 클래스라는 구조로 만들어져 있습니다.

클래스에 대한 것은 다음에 설명드리도록 하겠습니다.

지금은 클래스로 되어 있다는 것만 아셔도 됩니다.

아무튼.. 모든 데이터 타입은 클래스로 되어 있기때문에 클래스가 가지고 있는 다양한 함수를 끌어내어 사용할 수 있습니다.

바로 위의 예제에서 사용한 items( ) 라는 것도 딕셔너리 클래스가 가지고 있는 함수 중의 하나입니다.

딕셔너리 변수가 가지고 있는 각 항목들을 키와 값의 쌍으로 돌려주는 기능을 하죠.

따라서 for 구문을 실행하는데 area_dictionary가 가지고 있는 키와 값의 쌍을 순서대로 꺼내어서 그 개수만큼 for문의 블록 안에 있는 구문을 실행하라~ 라는 의미를 가지게 됩니다.

그리고 area_dictionary 변수의 키:값 쌍을 함께 받아와서 키는 key 변수에, 값은 value 변수에 넣어두었기 때문에 key 변수와 value 변수를 출력하는 print문을 블록에 사용했습니다.

먼저 보여드린 예제와 같은 결과를 확인할 수 있습니다.

 

마지막으로 range 함수를 사용한 예제를 살펴보겠습니다.

range( ) 함수는 내부에 지정된 범위 안의 숫자를 돌려주는 함수입니다.

위의 예제 중 첫 번째는 먼저 0부터 5의 앞까지의 범위 안에 있는 숫자(0, 1, 2, 3, 4)를 순서대로 꺼내어 print 문으로 출력을 반복하라.. 라는 의미입니다.

이때, range( ) 함수 안의 범위는 위의 두 번째 예제와 같이 지정할 수 있습니다.

3부터 5의 앞까지의 범위 안의 숫자 (3, 4)를 순서대로 꺼내어 print 문으로 출력을 반복하라.. 라는 의미죠.

범위를 지정할 때 뒤에 있는 5는 5까지.. 의 의미가 아니라 5의 앞까지.. 의 범위입니다.

 

또한 range( ) 함수에서는 범위 안의 숫자 사이의 간격을 지정할 수도 있습니다.

예제 코드는 3부터 10의 앞까지의 숫자를 꺼내되, 각 숫자는 2씩 증가하도록 꺼내어서 print 문으로 출력하라.. 라는 의미입니다.

2만큼의 간격대로 3, 5, 7, 9가 출력된 것을 볼 수 있습니다.

 

이렇게 해서 반복문 중 for 구문에 대하여 살펴보았습니다.

다음 글에서는 for 구문의 확장, 변형에 대하여 다루겠습니다.

 

 

 

 

728x90
반응형