1. 입맛 돋우기
**************

여러분이 컴퓨터를 많이 사용한다면, 결국 자동화하고 싶은 작업을 발견하
게 됩니다. 예를 들어, 많은 텍스트 파일들을 검색-수정하고 싶거나, 사진
파일들을 복잡한 방법으로 이름을 바꾸거나 재배치하고 싶을 수 있습니다.
어쩌면 자그마한 자신만의 데이터베이스나 GUI 응용 프로그램, 또는 간단한
게임을 만들고 싶을 것입니다.

만약 여러분이 전문 소프트웨어 개발자라면, 여러 C/C++/Java 라이브러리들
을 갖고 작업해야만 할 수 있는데, 일반적인 코드작성/컴파일/테스트/재컴
파일 순환이 너무 느리다는 것을 깨닫게 됩니다. 어쩌면 그 라이브러리들을
위한 테스트 스위트를 작성하다가, 테스트 코드 작성에 따분해하는 자신을
발견하게 됩니다. 또는 확장 언어를 사용하는 프로그램을 작성했는데, 완전
히 새로운 언어 전체를 설계하고 구현하고 싶지 않을 수 있습니다.

파이썬은 바로 여러분을 위한 언어입니다.

여러분은 이런 적업들을 유닉스 셸 스크립트나 윈도우 배치 파일을 작성해
서 해결할 수도 있습니다. 하지만 셸 스크립트는 파일을 이리저리 옮기거나
텍스트 데이터를 변경하는 데는 쓸모 있지만, GUI 응용 프로그램이나 게임
을 만드는 데는 적합하지 않습니다. C/C++/Java 프로그램을 작성할 수도 있
지만, 첫 초벌 프로그램을 만드는데도 막대한 개발 시간이 들어갑니다. 파
이썬은 사용하기에 더 간단하고, 윈도우, 맥 OS X, 유닉스 운영체제에서 사
용할 수 있으며, 더 빨리 작업을 완료할 수 있도록 합니다.

파이썬은 사용이 간단하지만, 제대로 갖춰진 프로그래밍 언어인데, 셸 스크
립트나 배치 파일보다 더 많은 구조를 제공하고 커다란 프로그램을 위한 지
원을 제공합니다. 반면에, 파이썬은 C보다 훨씬 많은 에러 검사를 제공하고
, 유연한 배열과 딕셔너리같은 고수준의 자료형들을 내장하고 있습니다. 더
일반적인 자료형들 때문에 Awk 나 Perl보다도 더 많은 문제영역에 쓸모가
있는데, 그러면서도 여전히 많은 것들이 적어도 이들 언어를 사용하는 것만
큼 파이썬에서도 쉽게 해결할 수 있습니다.

파이썬은 여러분의 프로그램을 여러 모듈로 나눌 수 있도록 하는데, 각 모
듈은 다른 파이썬 프로그램에서 재사용할 수 있습니다. 대규모의 표준 모듈
들이 따라오는데 여러분의 프로그램 기초로 사용하거나 파이썬 프로그래밍
을 배우기 위한 예제로 활용할 수 있습니다. 이 모듈에는 파일 입출력, 시
스템 호출, 소켓들이 포함되는데, 심지어 Tk 와 같은 GUI 도구상자에 대한
인터페이스도 들어있습니다.

파이썬은 인터프리터 언어입니다. 컴파일과 링크 단계가 필요 없으므로 개
발 시간을 상당히 단축해줍니다. 인터프리터는 대화형으로 사용할 수 있어
서, 언어의 기능을 실험하거나, 쓰고 버릴 프로그램을 만들거나, 바닥부터
프로그램을 만들어가는 동안 함수들을 테스트하기 쉽습니다. 간편한 탁상용
계산기이기도 합니다.

파이썬은 간결하고 읽기 쉽게 프로그램을 작성할 수 있도록 합니다. 파이썬
프로그램은 여러 가지 이유로 같은 기능의 C, C++, Java 프로그램들에 비교
해 간결합니다:

* 고수준의 자료형 때문에 복잡한 연산을 한 문장으로 표현할 수 있습니
  다;

* 문장의 묶음은 괄호 대신에 들여쓰기를 통해 이루어집니다;

* 변수나 인자의 선언이 필요 없다.

파이썬은 *확장 가능* 하다: C로 프로그램하는 법을 안다면, 인터프리터에
새로운 내장 함수나 자료형을 추가해서, 핵심 연산을 최대 속도로 수행하거
나 바이너리 형태로만 제공되는 라이브러리(가령 업체가 제공하는 그래픽스
라이브러리)에 파이썬 프로그램을 연결할 수 있습니다. 진짜 파이썬에 매료
되었다면, C로 만든 응용 프로그램에 파이썬 인터프리터를 연결하여 그 응
용 프로그램의 확장이나 명령 언어로 사용할 수 있습니다.

파이썬 이라는 이름은 "Monty Python's Flying Circus"라는 BBC 쇼에서 따
온 것이고, 파충류와는 아무런 관련이 없습니다. 문서에서 Monty Python의
농담을 인용하는 것은 허락된 것일 뿐만 아니라, 권장되고 있습니다.

이제 여러분은 파이썬에 한껏 흥분한 상태고 좀 더 자세히 들여다보길 원할
것입니다. 언어를 배우는 가장 좋은 방법은 사용하는 것이기 때문에, 이 학
습서를 읽으면서 직접 파이썬 인터프리터를 만져볼 것을 권합니다.

다음 장에서, 인터프리터를 사용하는 방법을 설명합니다. 이것은 약간 지루
할 수도 있는 정보지만, 이후에 나오는 예제들을 실행하기 위해서는 꼭 필
요합니다.

자습서의 나머지는 파이썬 언어와 시스템의 여러 기능을 예제를 통해 소개
합니다. 간단한 표현식, 문장, 자료형에서 출발해서 함수와 모듈을 거쳐,
마지막으로 예외와 사용자 정의 클래스와 같은 고급 개념들을 다룹니다.
