1. 입맛 다시기

컴퓨터 작업을 많이 하고 계시다면, 언젠가는 자동화하고 싶은 작업을 만날 것입니다. 예를 들어, 수 많은 텍스트 파일에 대하여 찾기와 바꾸기를 수행하고 싶을 때도 있고, 수 많은 그림 파일의 이름을 바꾸며 다양하게 정리하고 싶을 것입니다. 어쩌면 작은 맞춤 데이터베이스를 작성하거나 특별한 GUI 어플리케이션 또는 간단한 게임을 작성하고 싶을 수도 있습니다.

소프트웨어 전문 개발자라면, 여러 C/C++/Java 라이브러리로 작업해야겠지만 보통 작성/컴파일/테스트/재컴파일 주기는 너무 느립니다. 그런 라이브러리를 위한 테스트 모듬을 작성하고 싶겠지만 테스트 코드를 작성하는 것은 지겨운 일입니다.

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

이런 일에는 유닉스 쉘 스크립나 윈도우즈 배치 파일을 작성해도 되지만, 쉘 스크립트는 기껏해야 파일을 옮기고 텍스트 데이터를 바꿀 뿐이며 GUI 어플리케이션이나 게임에는 적당하지 않습니다. C/C++/Java로 프로그램을 작성해도 되지만, 엄청나게 많은 개발 시간이 들어야 겨우 초안 프로그램을 얻을 수 있을 뿐입니다. 파이썬이 더 사용하기 간단하며, 윈도우즈와 MacOS X 그리고 Unix 운영체제에서 얻을 수 있으며, 일을 훨씬 더 빨리 끝내도록 도와줄 수 있습니다.

파이썬은 사용하기 쉽지만, 진짜 프로그래밍 언어이며 쉘 스크립트나 배치 파일이 제공할 수 있는 것보다 커다란 프로그램을 구조적으로 더 잘 지원합니다. 한편으로, 파이썬은 C보다 에러 점검도 더 잘 지원합니다. 그리고 아주-높은-수준의 언어이기 때문에 유연한 배열이나 사전 같이 높은-수준의 데이터 유형을 갖추고 있습니다. 데이터 유형이 더 일반적이기 때문에 파이썬은 Awk 또는 Perl보다 적용할 수 있는 문제 영역이 더 넓습니다. 그럼에도 최소한 그런 언어만큼이나 많은 것들이 쉽습니다.

파이썬에서는 프로그램을 모듈로 나눌 수 있어서 다른 파이썬 프로그램에서 재사용할 수 있습니다. 방대한 표준 모듈이 따라오므로 프로그램의 토대로 사용할 수 있습니다 -- 또는 초보자라면 예제로 공부하여 파이썬으로 프로그램하는 법을 배울 수 있습니다. 이런 모듈에는 파일 I/O, 시스템 호출, 소켓 그리고 심지어 Tk같은 그래픽 사용자 인터페이스도 있습니다.

파이썬은 인터프리터입니다. 그러므로 프로그램 개발 시간을 획기적으로 절약할 수 있습니다. 왜냐하면 컴파일시간과 링크시간이 필요하지 않기 때문입니다. 파이썬을 상호대화적으로 사용하면 파이썬이 갖춘 특징들을 쉽게 시험해 볼 수 있으며 간단하게 한번-쓰고 버리는 프로그램을 작성할 수 있고, 상향식으로 프로그램을 개발하는 동안에 함수들을 쉽게 테스트할 수 있습니다. 또한 간편한 계산기이도 합니다.

파이썬에서 프로그램은 간결하고 가독성이 높게 작성이 가능합니다. 파이썬으로 작성된 프로그램은 전형적으로 C나 C++ 또는 Java보다 훨씬 더 짧습니다. 이유는 여러가지 있습니다:

파이썬은 확장가능합니다: C로 프로그램하는 법을 아신다면 새로운 내장 함수나 모듈을 파이썬에 쉽게 추가할 수 있는데, 그러면 주요 연산을 최대 속도로 수행할 수 있습니다. 그리고 (벤더-종속적 그래픽 라이브러리 같은) 이진 형태로만 사용할 수 있는 라이브러리에 파이썬 프로그램을 링크할 수 있습니다. 일단 제대로 갈고리가 걸렸다면, 파이썬을 C로 작성된 어플리케이션에 엮어 넣어 명령 언어나 확장으로 사용할 수 있습니다.

그런데, 파이썬이란 이름은 BBC 방송의 쇼 ``Monty Python's Flying Circus''에 따왔으며 징그러운 파충류와는 전혀 관계가 없습니다. 몬티 파이썬 쇼의 명대사를 문서에 언급하는 것을 허용할 뿐만 아니라, 권장합니다!

이제 파이썬에 대하여 입맛을 돋구어 주었으므로, 좀 더 알아보고 싶은 욕구가 솟을 것입니다. 언어를 배우는 가장 좋은 방법은 직접 사용해 보는 것입니다. 이 자습서에서 이끄는대로 여러분은 읽어가면서 파이썬을 가지고 노시기 바랍니다.

다음 장에서는 파이썬을 사용하는 방법을 설명합니다. 약간 많이 알려진 정보겠지만, 나중에 보여줄 예제들을 시험해 보려면 필수적입니다.

앞으로는 예제를 통하여 파이썬 언어의 다양한 특징을 소개합니다. 간단한 표현식과 서술문 그리고 데이터 유형으로부터 시작하여 함수와 모듈을 다루고, 마지막으로 사용자-정의 클래스와 예외와 같은 보다 고급의 개념들을 다루어 보겠습니다.

변경 제안에 관한 정보는 이 문서에 관하여를 참조.