Page 19 -
P. 19

Q&A





               Q.  탭, 공백, 개행 문자 등 공백 문자에 대해 파이썬은 어떤 규칙을 가지고 있나?

               A.  일반적으로 파이썬은 프로그램 안에 있는 공백 문자를 모두 동일하게 처리하지만, 문자열 리터럴
                  과 들여쓰기에서는 예외적으로 구분한다. 문자열 리터럴은 'Hello, World'처럼 작은따옴표 안에
                  들어 있는 일련의 문자들이다. 따옴표 안에 넣는 공백은 정확히 그대로 인식된다. 들여쓰기는 행
                  의 앞에 나오는 공백을 말한다. 1.3절에서 설명하는 것처럼 소소코드 각 줄 앞에 나오는 공백의 수
                  는 파이썬 프로그램을 구조화하는 데 중요한 역할을 한다. 일단 지금은 코드를 들여 쓰지 않는다.


               Q.  주석은 왜 사용하는가?
               A.  여러분이 작성한 코드를 다른 사람이 이해하거나, 혹은 여러분이 나중에 자신의 코드를 다시 볼
                  때에 코드를 이해할 수 있게 도와주므로 주석을 반드시 사용해야 한다. 지면상의 제약 때문에 책

                  에서 나열하는 코드는 주석을 최대한 적게 사용하는 대신, 코드 설명 부분에서 글과 그림을 이용
                  해 자세히 설명한다. 도서 웹사이트에서 내려받은 프로그램 코드에는 실제 프로그래밍할 때처럼
                  주석이 달려 있다.


               Q.  여러 문장을 한 줄에 넣을 수 있는가?
               A.  넣을 수 있다. 다만 각 문장을 세미콜론으로 구분해야 한다. 예를 들어 다음의 코드 한 줄은
                  helloworld.py와 똑같은 메시지를 출력한다.


                    import stdio; stdio.writeln('Hello, World')

                    프로그래밍 스타일의 문제이지만 대부분의 프로그래머는 이처럼 한 줄에 여러 문장을 넣는 스타
                  일을 피한다.


               Q.  stdio, write, writeln 등에서 단어의 철자가 틀리거나 괄호를 빼먹으면 어떤 일이 생기나?
               A.  구체적으로 어떻게 잘못했는지에 따라 다르다. 이 오류는 구문 오류(syntax error)라고 하며, 일반
                  적으로 컴파일러가 잡아낸다. 예를 들어 helloworld.py와 똑같지만 첫 번째 여는 괄호를 실수로
                  빠트린 bad.py를 컴파일하면 다음과 같이 도움이 되는 메시지를 볼 수 있다.

                    % python3 bad.py
                      File "bad.py", line 4
                        stdio.write'Hello, World')
                                    ^
                    SyntaxError: invalid syntax
                    이 메시지를 보면 여는 괄호를 넣어야 함을 쉽게 짐작할 수 있다. 그러나 컴파일러가 늘 여러분의
                  실수를 제대로 지적할 수 있는 것은 아니어서, 에러 메시지가 이해하기 어려운 경우도 있다. 예를



               028
   14   15   16   17   18   19   20   21   22   23   24