파이썬 도 다른 프로그래밍 언어 와 마찬가지 로 제 어문 과 반 복문 을 제공 한다 . 이 글 에서 는 if , for , 그리고 독특 한 함수 인 range ( ) 에 대해 살펴보 자 . 1 . if Statementsx = int ( input ( " Please enter an integer : ")) if x < 0 : x = 0 print ( ' Negative changed to zero ') elif x == 0 : print ( ' Zero ') elif x == 1 : print ( ' Single ') else : print ( " More ") 앞서 말 한 것 처럼 파이썬 에서 는 중괄호 를 사용 해서 블럭 을 지정 하 지 않 고 들여쓰기 로 블럭 을 지정 한다 . 그리고 블럭 이 시작 되 는 부분 에 는 콜론 을 붙여 준다 . 또한 자바 와 는 다르 게 else if 가 아니 라 elif 를 사용 한다 . 2 . for Statements 파이썬 의 for 구문 은 자바 와 많 은 차이 를 보인다 . 자바 같 은 경우 에 는 for ( int i = 0 ; i < 10 ; i ++) 와 같 은 반 복문 을 사용 했 지만 파이썬 에서 는 위 와 같 은 반 복문 을 사용 하 지 않 는다 . 파이썬 의 튜토리얼 에서 가장 먼저 소개 하 는 반 복문 은 다음 과 같 다 . words = [ ' cat ', ' window ', ' defenestrate '] for w in words : print ( w , len ( w ) ) 일반 적 으로 반 복문 을 사용 할 때 많이 사용 되 는 예제 인 구구단 으로 나타내 는 게 아닌 조금 더 ( ? ) 실용 적 인 리스트 ( List ) 의 반복 을 먼저 보여준다 . 이 부분 은 자바 의 for each 와 상당히 유사 하 다 . words 의 아이템 이 차례 대로 w 에 들어가 반 복문 안 에서 사용 되 는 식 이 다 . List 의 특징 은 앞서 소개 한 String 과 유사 하 지만 Mutable 이 므로 아이템 에 직접 접근 해 값 을 바꾼다 거나 + 연산자 를 사용 해 내용 을 덧붙일 수 있 다는 점 등 이 있 다 . 다음 으로 소개 할 구문 은 기존 의 리스트 를 반 복문 을 사용 해서 새로운 내용 을 덧붙이 고 싶 을 때 의 소스 코드 이 다 . words = [ ' cat ', ' window ', ' defenestrate '] for w in words [ : ] : if len ( w ) > 6 : words . insert ( 0 , w ) insert 는 List 에 내장 된 메서 드로 , 여기 에 쓰인 것 은 0 번 위치 에 w 를 삽입 하 라는 내용 이 다 . 또한 반 복문 에서 words 가 아니 라 words [ : ] 가 사용 된 것 을 볼 수 있 는데 slice 기능 을 사용 해 전체 를 얻 어 낼 때 는 words 를 그대로 사용 하 는 것 이 아니 라 words 를 그대로 복사 해 반환 된 값 을 사용 하 게 된다 . 그래서 일반 적 으로 자바 에서 생각 할 수 있 는 동시 성 에러 가 발생 하 지 않 는다 . 만약 words [ : ] 대신 words 를 사용 하 게 되 면 프로그램 이 무한 루프 에 빠진다 . 3 . range ( ) 함수 for 반 복문 에서 유용 하 게 사용 할 수 있 는 range ( ) 함수 이 다 . for i in range ( 5 ) : print ( i ) 위 의 코드 를 실행 하 면 01234 가 출력 된다 . range ( ) 에 는 최대 3 개 의 파라미터 를 쓸 수 있 다 . range ( 5 ) 를 사용 하 면 0 ~ 4 range ( 5 , 10 ) 를 사용 하 면 5 ~ 9 range ( 0 , 10 , 3 ) 를 사용 하 면 0 , 3 , 6 , 9 를 나타낸다 . 물론 음수 도 사용 이 가능 하 며 range ( - 10 , - 100 , - 30 ) 은 - 10 , - 40 , - 70 을 나타낸다 . range ( ) 함수 를 사용 해 , 보통 프로그래밍 예제 로 많이 사용 되 는 구구단 은 다음 와 같이 나타낼 수 있 다 . for i in range ( 1 , 10 ) : for j in range ( 1 , 10 ) : print ( i , '*', j , '=', i * j ) range ( ) 함수 를 사용 하 는데 있 어 유의 할 점 은 , 대부분 의 경우 에 List 를 반환 하 는 것 처럼 보이 지만 실제로 는 메모리 를 낭비 하 는 것 을 막 기 위해 그때 그때 적절 한 오브젝트 를 반환 한다는 것 이 다 . 예 를 들 어 , print ( range ( 5 ) ) 를 실행 하 면 range ( 0 , 5 ) 와 같 은 의도 하 지 않 은 값 이 출력 된다 . range ( ) 함수 를 사용 해 리스트 를 작성 하 려면 list ( range ( 5 ) ) 와 같 은 식 으로 별도 의 list ( ) 함수 를 사용 하 자 .