IT프로그래밍

[Python]파이썬 for / Python for / 파이썬 반복문 / Python 반복문

Manniz 2020. 4. 6.

 

파이썬 반복문

파이썬 for문

입니다.

 

파이썬의 반복문을 예제를 통해 알아보고 c와 비교하여 어떤점이 다른지,

또 어떻게 사용하는지 기록해놓은 포스팅입니다.

 

파이썬에는 크게 2가지의 반복문이 있습니다.

1. for item in var:

2. for item in range(시작숫자, 종료숫자, 스텝):

 

 

위에서 for문 뒤에 :(콜론)은 문맥상의미가 아니라 실제 선언에 쓰인것임을 주의해주세요.

그리고 for문 바로 아래 오는 구문은 반드시 들여쓰기를 해야합니다.

(파이참같은 파이썬의 IDE의 경우 for문을 선언하고 엔터를 입력하면 자동으로 띄워줍니다).

 

1번 for item in var: 반복문의 경우는 c언어의 foreach를 생각하시면 편합니다.

파이썬에서는 iterator(반복자)라는 개념으로 정립되어 있습니다.

str, list, tuple(값을 변경할 수 없는 리스트라고 이해정도만 해주세요) 등이 그것입니다.

 

해당 개념은 추후 다시 논의하고, 우선 오늘의 목적인 반복문을 예제를 통해 확인해 보겠습니다.

우선 for item in var: 에 해당하는 반복문입니다.

 

소스코드

my_list = [1101002000]
for x in my_list:
    print(x)
 

 

실행결과

위에서는 item이라고 해놓고 왜 소스에서는 x냐?

라고 생각하실 수 있겠지만 해당 x부분에는 아무거나 써져있어도 상관없습니다.

그냥 x는 my_list를 0번부터 훑을 임시 변수 정도로 이해해 주시면 좋을것같아요

위의 소스코드는 c언어의

for(int x = 0; x < my_list.count(); x++)

{

    printf("%d\r\n", my_list[x]);

}

과 동일합니다.

 

위의 예제 소스코드에서 반드시 꼭!! 유의해서 보셔야 할것은!

for문 아래 구문이 들여쓰기 되어 있다는 것입니다.(탭한번)

만약 들여쓰지 않는다면 에러가 발생합니다.

 

에러 발생 소스코드

my_list = [1101002000]
for x in my_list:
print(x)
 

 

실행 결과

 

★ 이러한 에러는 파이썬 for문 에서만 발생하는 것은 아니고, 파이썬 전반에 걸쳐 발생합니다.

들여쓰기를 통해서 코드블럭을 나누기 때문에 그걸 지키지 않았을 경우 에러가 발생하는 것이죠.

 

C언어나 자바에서는 코드블럭은 보통 { } 을 통해 구분해 놓지만

파이썬에서 {}는 dictionary변수를 정의할 때 사용합니다.

즉, 파이썬에서 코드블럭은 오로지 들여쓰기만을 통해 구분됩니다.

다음 두 예제를 보시면 이해하시는데 도움이 되실거예요.

 

소스 코드

my_number = [246810]
for temp in my_number:
    print(temp)
    print("HI")
 

 

실행 결과

 

for문 아래 2줄이 같은 라인에 위치해 있죠?(한탭 띄어서)

C언어로 예를들자면

for(int i = 0; i < my_number.count(); i++)

{

        printf("%d\r\n", my_number[i]);

        printf("HI\r\n");

}

와 같습니다.

즉 같은 코드블럭상에 있다는 것이죠!

 

다음 예제를 하나만 더 보도록 하겠습니다.

 

소스 코드

my_number = [246810]
for temp in my_number:
    print(temp)
print("HI")
 

바로 전 예제 소스코드와 비교해서 마지막 라인만 내어쓰기 했다는 것만 다릅니다.

 

실행 결과

 

결과는 다음과 같습니다.

해당 구문을 C언어로 표현하자면

for(int i = 0; i < my_number.count(); i++)

{

        printf("%d\r\n", my_number[i]);

}

printf("HI\r\n");

 

이 되는 것이죠!

 

그럼 파이썬 반복문 for의 두번째 사용법에 대해 알아보겠습니다.

 

 

2. for in range(시작숫자, 종료숫자, 스텝):

이 파이썬 반복문이 우리가 더 많이 접하게 될 for 반복문 일 것입니다.

해당 파이썬 for문은 c언어의 for문과 비슷한 형태를 지닙니다.

 

바로 예제를 통해서 사용법을 확인해 보겠습니다.

 

소스 코드

for a in range(0101):
    print(a)
 

실행 결과

 

심플하죠!?

for(int i =0; i < 10; i++)와 동일합니다.

 

range(시작숫자, 종료숫자, 스텝) 에서 스텝을 지정하지 않으면 디폴트 값은 1입니다.

 

소스 코드

for b in range(05):  #값을 지정하지 않으면 기본 값은 1입니다.
    print(b)
print("--------------------------")
for qs in range(100-2):  # -로 값을 감소시키며 반복도 가능합니다.
    print(qs)
 
 

 

실행 결과

 

이상으로 파이썬 반복문 / 파이썬 for문 포스팅을 마치겠습니다.

for문보다는 들여쓰기 관련 내용을 더 쓴것 같네요;

 

제가 알고 있는게 잘못된 정보라면 댓글로 말씀 좀 부탁드려요~

댓글