Page 20 -
P. 20
Q&A
들어 여는 괄호 대신 닫는 괄호를 실수로 빠트리면 다음과 같이 오류가 발생한 줄의 다음 줄을 참
조하는 메시지가 출력된다.
% python3 bad.py
File "bad.py", line 5
^
SyntaxError: unexpected EOF while parsing
간단한 프로그램에 일부러 오류를 발생시켜 어떤 메시지가 출력되는지 확인해보면 이런 오류 메
시지에 익숙해질 수 있다. 어떤 오류 메시지가 발생하든 오류 메시지를 일종의 친구로 생각해야
한다. 여러분이 만든 프로그램에 어떤 오류가 있는지 알려주려 하기 때문이다.
Q. useargument.py를 실행할 때 이상한 오류 메시지가 나온다. 설명을 부탁한다.
A. 아마도 명령 줄 인수를 지정하지 않아 다음과 같은 오류가 발생했을 것이다.
% python3 useargument.py
Hi, Traceback (most recent call last):
File "useargument.py", line 5, in <module>
stdio.write(sys.argv[1])
IndexError: list index out of range
프로그램을 실행했지만 약속과 달리 명령 줄 인수를 입력하지 않았기 때문에 파이썬 인터프리터
가 불평하는 것이다. 리스트 인덱스에 대해서는 1.4절에서 자세히 설명한다. 이런 오류 메시지를
또 보게 될 것이므로 잘 기억해두길 바란다. 경험이 풍부한 프로그래머도 명령 줄 인수를 입력하
는 것을 종종 잊어버리곤 한다.
Q. 내가 사용할 수 있는 파이썬 모듈과 함수는 어떤 것들이 있는가?
A. 여러 표준 모듈은 파이썬과 함께 설치된다. 그 외 모듈은 여러분이 내려받아 설치해야 하는 확장
모듈이다. 그리고 이 책을 위해 특별히 만든 모듈(stdio 등)이 있으며, 이 모듈들은 예제용 라이
브러리 모듈이라고 부르겠다. 간단히 말해, 여러분은 각기 여러 함수를 정의하고 있는 수백 개의
모듈을 사용할 수 있다. 이 책에서는 가장 핵심적인 모듈과 함수만을 소개하며, 여러분이 당황하
지 않도록 차근차근 하나씩 다음 절부터 설명해 나간다.
029