Python 입문 | 구문(statement) | 구문과 들여 쓰기의 관계

프로그래밍 언어로는 “값"과 “계산"이 기본라고 했었다. 그럼, 다음에 중요한 것은 무엇일까요? 여러가지 생각나는 것이 있지만, 아마 프로그램의 “제어"일 거다.

단지, 명령을 순차적으로 실행하는 것만으로는 극히 제한된 사용법 밖에 할 수 없다. 프로그램의 상황에 따라 “여기는 이것을 실행”, “이것은 OO번 반복"과 같이 프로그램의 흐름을 제어함으로써 보다 복잡한 프로그램이 만들 수 있게 되기 때문이다.

이러한 프로그램의 움직임에 대해 이것 저것 지시하기 위해 준비되어 있는 것이 ‘구문’이라는 것이다. 그 중에서도 그 흐름을 제어하기 위해 마련된 것을 “제어 구문(control statement)“라고 한다.

Python의 구문 표기법은 매우 독특하다. 그것은 “들여 쓰기"를 사용한 방법이다. “들여 쓰기"란 텍스트의 시작 위치를 탭이나 공백으로 오른쪽으로 보내는 것이다.

Python에서는 다양한 구문이 들여 쓰기를 사용하여 작성한다. 예를 들어, 구문에서 “이런 경우 다음 작업을 수행한다"라는 것을 설명한다고 하자. 그러면, 그 구문 중에 준비하는 처리는 그거보다 오른쪽으로 들여 쓰여져 있다. 그리고 그 들여 쓰기 위치에서 쓰여져 있는 것이 “그 구문 안에 처리"라고 판단되는 것이다.

그 구문을 끝내고 원래대로 돌아가려면 이전 위치로 들여 쓰기를 되돌린다. 즉, Python은 “그 문장이 어떤 위치에서 쓰기 시작하고 있는가"에 따라 어떤 구문의 처리인가를 인식하는 것이다.

간단히 이해를 돕기 위해 아래의 구문 작성 내용을 보도록 하겠다.

Python 구문 작성

보통 문장 ......
구문 그 1
     구문 1의 처리 ......
     구문 1의 처리 ......
     구문의 1에 또한 구문
         그 또한 중 처리 ......
         그 또한 중 처리 ......
     구문 1의 처리 ......
구문 2
     구문 2의 처리 ......
보통 문장
보통 문장
...... 중략 ......

이런 식으로 문장의 시작 위치를 조금씩 다르게 하여 구문이 작성된다. 이는 들여 쓰기 공백 수를 잘못하게 되면 문법적인 에러가 발생하기도 한다는 것을 의미한다.

Python 들여 쓰기는 일반적으로 탭 대신 공백이 사용된다. 표준으로 공백 8개 문자씩 넣는 방식이 많지만, 이것은 특별히 정해져 있는 것은 아니고, 4개 문자도 2개 문자로도 인식하고 동작한다.

단, 너무 공백 수가 적으면 문법의 구성이 알아 보기 힘들어 지거나, 들여 쓰기가 실수가 증가하기도 하고, 공백 수가 너무 많으면 점점 문장이 오른쪽으로 이동하여 문장의 끝이 보이지 않게 될 수도 있다. 그러기에 적당한 폭을 생각하면서 쓰도록 하자.