앞으로    목차    제1장    2    3    4    5    6    7    8    다음으로

1. 일반적인 정보와 쓰임새

1.1. 파이썬이 무엇인가요?

파이썬은 인터프리터이며, 상호대화적이고, 객체-지향적인 프로그래밍 언어입니다. 파이썬에는 모듈, 예외, 동적인 형정의, 대단히 고 수준의 동적인 데이타 형, 그리고 클래스가 구현되어 있읍니다. 파이썬에는 놀라운 힘이 대단히 명료한 구문에 결합되어 있습니다. 파이썬은 수 많은 시스템 호출과 라이브러리에 대한 인터페이스를 가지고 있습니다, 뿐만 아니라 다양한 윈도우 시스템에 대한 인터페이스도 있으며, C 또는 C++로 확장도 가능합니다. 또한 프로그래밍 인터페이스가 필요한 어플리케이션들을 위한 확장 언어로도 사용할 수 있습니다. 마지막으로, 파이썬은 이식성이 풍부합니다: 수 많은 종류의 유닉스와, 맥에서 실행되며 도스, 윈도우, NT, 그리고 OS/2 환경의 개인용 컴퓨터에서도 실행됩니다.

더 알고 싶으시면, 가장 좋은 방법은 문서 모음속에 있는 지침서를 읽기 시작하는 것입니다 (아래에 있는 질문들을 참조하세요).

질문 1.17 (파이썬은 무엇에 유용한가요)를 참조하시길.


1.2. 왜 파이썬이라고 불리나요?

컴퓨터 과학자는 전혀 아니지만, 저도 "Monty Python's Flying Circus"를 좋아합니다 (혹시 -- 그렇지는 않겠지만 -- 모르시는 분을 위해, 70년대부터 시작된 BBC의 코메디 연속극이랍니다.). 어느날 갑자기 짧은, 특이한, 그리고 약간은 신비스런 그런 이름이 필요하다는 생각이 들었습니다. 마침 저는 그 연속극의 대본을 읽고 있었는데... 바로 그 때 나의 언어를 파이썬으로 부르기로 결정한 겁니다.

지금까지 여러분이 파이썬의 로고로 왕뱀을 사용하든, 왕쥐를 사용하든 신경쓰지 않고 있습니다!


1.3. 어떻게 파이썬 소스의 복사본을 얻나요?

최신의 파이썬 소스 배포는 항상 python.org http://www.python.org/download에서 얻을 수 있습니다. 최신의 개발 소스는 소스포지, http://python.sourceforge.net/에 있는 익명의 CVS에서 얻을 수 있습니다.

완전한 C 소스를 담고 있는 gzip으로 압축된 tar 파일, LaTeX 문서, 파이썬 라이브러리 모듈, 예제 프로그램, 그리고 자유롭게 배포될 수 있는 약간의 유용한 소프트웨어가 있습니다. 이것은 대부분의 유닉스 플랫폼에서 컴파일되고 실행될 겁니다. (비-유닉스에 관한 정보를 위해서는 섹션 7 을 참조하세요.)

파이썬의 구버전, 파이썬 1.6과 1.5.2를 포함하여, 또한 python.org에서 구할 수 있습니다.


1.4. 파이썬에 관한 문서를 어떻게 얻나요?

모든 문서는 온-라인으로 이용가능합니다, http://www.python.org/doc/에서 시작하세요.

그 문서의 LaTeX 소스는 소스배포본에 포함되어 있습니다. LaTeX가 없으시면, 최신의 파이썬 문서 모음은, 익명 ftp 를 통하여, 포스트스크립트와 HTML과 같은 다양한 포맷으로 얻을 수 있습니다 - 현재 버전에 연결된 위의 URL을 방문하세요.

파이썬을 고-수준으로 설명해주는 포스트 스크립트는 nluug-paper.ps속에 있습니다 (위의 ftp 사이트에서 별개의 파일로 존재합니다).


1.5. 파이썬의 배포를 미러하는 다른 ftp 사이트들이 있나요?

다음의 익명 ftp 사이트들이 파이썬의 배포를 미러하고 있습니다:

미국:

        ftp://ftp.python.org/pub/python/
        ftp://gatekeeper.dec.com/pub/plan/python/
        ftp://ftp.uu.net/languages/python/
        ftp://ftp.wustl.edu/graphics/graphics/sgi-stuff/python/
        ftp://ftp.sterling.com/programming/languages/python/
        ftp://uiarchive.cso.uiuc.edu/pub/lang/python/
        ftp://ftp.pht.com/mirrors/python/python/
        ftp://ftp.cdrom.com/pub/python/
유럽:

        ftp://ftp.cwi.nl/pub/python/
        ftp://ftp.funet.fi/pub/languages/python/
        ftp://ftp.sunet.se/pub/lang/python/
        ftp://unix.hensa.ac.uk/mirrors/uunet/languages/python/
        ftp://ftp.lip6.fr/pub/python/
        ftp://sunsite.cnlab-switch.ch/mirror/python/
        ftp://ftp.informatik.tu-muenchen.de/pub/comp/programming/languages/python/
호주:

        ftp://ftp.dstc.edu.au/pub/python/


1.6. 파이썬에 공헌하는 뉴스그룹이나 메일링 리스트가 있나요?

뉴스그룹, comp.lang.python과 그리고 메일링 리스트가 있습니다. 뉴스그룹과 메일링 리스트는 서로간에 열려 있습니다 -- 뉴스를 읽을 수가 있으면 그 메일링 리스트에 가입하는 것은 불필요합니다. 메일링 리스트에 가입하기 위해서는 (python-list@python.org) 메일맨 웹페이지 http://www.python.org/mailman/listinfo/python-list를 방문하세요

뉴스그룹과 메일링리스트에 관하여 더 자세히 알고 싶거나, 다른 리스트에 대해 더 알고 싶으시면 http://www.python.org/psa/MailingLists.html에서 찾아 보실 수 있습니다.

뉴스그룹의 문서고는 데자 뉴스가 관리하고 있으며 "파이썬 뉴스그룹 탐색", http://www.python.org/search/search_news.html 웹 페이지에서 보실 수 있습니다. 이 페이지에는 다른 문서 모음집에로의 연결점도 있습니다.


1.7. 파이썬에 공헌하는 WWW 페이지가 있나요?

물론입니다, http://www.python.org/는 공식적인 파이썬 홈페이지입니다.


1.8. 파이썬 문서를 WWW상에서 이용가능한가요?

네. 파이썬 2.0 문서는 http://www.pythonlabs.com/tech/python2.0/doc/ 그리고 http://www.python.org/doc/에서 사용가능합니다. 대부분의 문서가 온라인으로도 보실 수 있고 내려 받을 수도 있습니다.


1.9. 파이썬에 관한 책들이 있을까요?

네, 많고 많은 책들이 출판되고 있습니다. 리스트를 보시려면 http://www.python.org/psa/bookstore를 참조하세요.

온라인 서점을 탐색해서 "Python"을 찾을 수도 있습니다 ( Monty Python 참조를 걸러내시거나; 또는 "Python"과 "language"로 탐색해야겠지요).


1.10. 파이썬에 관하여 제가 읽을 만한 출판된 글들이 있습니까?

웹 사이트를 참조하실 수 없다면, 그리고 그 책들을 참조하기를 원하지 않는다면 (앞의 질문을 보세요), 참조하실 수 있는 파이썬에 관한 몇 개의 사설들이 있습니다.

파이썬에 관한 대부분의 출판물은 파이썬 웹사이트에 모여 있습니다:

Publications.html
이 사설들은 대단히 오래 되었으므로 파이썬의 저자는 그것을 더이상 참조하도록 권장하지 않습니다:

    Guido van Rossum and Jelke de Boer, "파이썬 프로그래밍 언어로 상호대화적으로
    원격 서버를 점검하기", CWI Quarterly, Volume
    4, Issue 4 (December 1991), Amsterdam, pp 283-303.


1.11. 파이썬에 관한 짧은 소개문이나 이야기가 있나요?

몇개가 있습니다 - Hints.html#intros에서 링크를 찾아보실수 있습니다.


1.12. 파이썬 버전 매기기 전략은 어떻게 작동하는가요?

파이썬 버전은 A.B.C 또는 A.B. 로 매겨지고 있는데 A는 가장 큰 버전 번호입니다 -- 기능이나 소스 구조에 중요한 변화가 있을 때만 증가됩니다. B는 작은 버전 번호입니다, 배포본에 지구를-뽀갤만한 변화가 없는 경우에만 증가합니다. C 는 패치수준입니다 -- 새로운 패치가 적용될 때마다 증가합니다. 모든 배포본이 패치 배포본을 가지는 것은 아닙니다. 주목할 것은 과거에는, 패치가 중요한 변화를 의미하였다는 것입니다; 사실 0.9.9에서 1.0.0으로 바꾼다는 것은 처음으로 A 또는 B가 변경되었다는 것을 뜻합니다!

알파, 베타 그리고 배포 후보 버전은 부가적인 접미사를 가집니다. 알파 버전을 위한 접미사는 "aN"으로 한자리 수 N을 가지며, 베타 버전을 위한 접미사는 "bN"으로 한자리 수 N을 가지고, 그리고 후보 배포본을 위한 접미사는 "cN"으로 한자리 수 N을 가집니다.

(예를 들어) 2.0aN으로 라벨이 붙은 모든 버전은 2.0bN으로 라벨이 붙은 버전에 앞서고, 이 버전은 2.0cN으로 라벨이 붙은 버전보다 앞섭니다, 그리고 그 모든 것들은 2.0.의 이전 버전입니다.

일반적으로, 배포 후보본과 최종 배포본 사이에는 눈에보이는 버그가 없는한 변경되지 않습니다.


1.13. 파이썬의 베타 테스트 버전을 어떻게 얻나요?

알파, 베타, 그리고 배포후보본을 포함한 모든 배포본은 comp.lang.python 그리고 comp.lang.python.announce 뉴스그룹에 공표됩니다, 둘다 python-list@python.org 그리고 python-announce@python.org에 열려 있습니다. 게다가, 이러한 모든 공표는 파이썬 홈 페이지,http://www.python.org/에도 발표됩니다.


1.14. 파이썬을 사용하는데 저작권 제한이 있나요?

전혀요. 여러분은 원하시는대로 소스에 무엇이든 할 수 있습니다, 물론 여러분이 만드신 파이썬에 관한 모든 문서에 그러한 저작권을 보여주거나, 남겨 두셔야겠지요. 또, 저자의 법인 이름을 문서로 먼저 허가 받지 않았다면 사용하지 마세요, 그리고 어떠한 것에도 책임을 남기지 마세요 (정확한 법적인 어의를 아시려면 실제 저작권을 읽어보세요).

특히나, 저작권 규약을 존중하신다면, 파이썬을 상용으로 사용하셔도 좋습니다, 파이썬을 소스나 이진파일형태로 파시거나, 파이썬의 힘을 개선하는 제품을 파시거나, 또는 어떤 형태로든지 파이썬을 (혹은 한부분으로서) 구현하셔도 좋습니다. 저 역시 파이썬을 상업적 용도로 사용하는 것에 관하여 알고 싶습니다!


1.15. 파이썬은 왜 처음에 만들어졌나요?

제가 시작하게된 이유를 아주 짧게 요약하겠습니다:

나는 CWI의 ABC 그룹에서 인터프리터 언어를 구현하는 일에 아주 광범위한 경험이 있었습니다 , 이 그룹과 일하면서 언어 디자인에 관하여 많은 것을 배웠습니다. 여기에서 파이썬의 많은 기능들이 유래했는데, 서술문을 그룹화하기 위해 들여쓰기를 사용하고 대단히-고-수준의 데이타 형이 포함되었습니다 (파이썬에서 세부사항은 전혀 다르기는 하지만 말이지요).

나는 ABC 언어에 관하여 많은 것을 알게 되었습니다, 또한 그 사양의 많은 부분을 좋아하였습니다. 그러나 나의 불만을 없애기 위하여 ABC 언어를 확장하는 것은(또는 그의 구현으로) 불가능 하였습니다. -- 사실 확장성이 없다는 점은 그 언어의 가장 큰 문제였습니다. 나는 Modula-2+를 사용한 경험이 약간 있었고 Modula-3의 디자이너와 대화를 하였습니다 (M3 보고서를 읽어보세요). 예외, 그리고 파이썬의 다른 약간의 사양들에 사용되어진 구문과 의미론은 M3에서 기원하였습니다.

나는 CWI의 아메바 분산 처리 시스템 그룹에서 일하고 있었습니다. 우리는 C 프로그램 또는 본쉘 스크립트를 작성하여 관리하는 것보다 시스템 관리를 하기 위한 더 좋은 방법이 필요했습니다, 아메바는 자신만의 시스템 호출 인터페이스를 가지고 있어서 본쉘로는 쉽게 접근이 힘들었기 때문이었습니다. 아메바에서 에러 처리를 한 경험으로 나는 프로그래밍 언어의 사양으로서 예외의 중요성을 첨예하게 인식하였습니다.

ABC와 같은 구문에 아메바 시스템 호출에 대한 접근을 가진 스크립트 언어라면 요구를 만족시킬 수 있으리라는 생각이 들었습니다. 아메바-특유의 언어를 작성하는 것은 바보 같은 것이라는 것을 깨닫았습니다, 그래서 나는 일반적인 확장성이 있는 언어가 필요하다고 결정하였습니다.

1989년 크리스마스 휴일 동안에, 시간이 많이 남아돌아서, 한번 시도해보기로 결정했습니다. 그 다음해 동안에, 여전히 나의 대부분의 시간을 거기에 쏟고 있었고, 파이썬은 점점 더 성공적으로 아메바 프로젝트에 사용되었습니다, 그리고 동료들의 조언 덕분에 나는 초기에 많은 개선들을 할 수 있었습니다.

1991 년 2 월, 거의 1 년의 개발기간이 끝난후에, 나는 USENET에 올리기로 결정하였습니다. 나머지 이야기는 Misc/HISTORY 파일에 계속됩니다.


1.16. 제가 "Monty Python'의 날으는 서커스"를 좋아해야 합니까?

아니요, 그렇지만 도움은 되겠지요. 파이쏘니타스는 자주 SPAM을 보기를 좋아합니다, 그리고 물론, 아무도 그 스페인 질문록(Spanish Inquisition)을 즐기지는 않습니다.

파이썬을 사용하는 중요한 두 가지 이유는:

 - 이식성이 풍부하다
 - 배우기 쉽다
파이썬을 사용하는 세개의 중요한 이유를 들라면:

 - 이식성이 풍부하다
 - 배우기 쉽다
 - 강력한 표준 라이브러리
(그리고 멋진 빨간색 유니폼.)

그리고 기억하세요, 6번째 규칙은 절대로 없답니다.


1.17. 파이썬은 무엇에 유용한가요?

파이썬은 많은 상황에 사용됩니다. 엄청난 동적처리, 사용용이성, 힘, 그리고 유연성이 요구되는 곳에 사용됩니다.

기본적인 텍스트 처리의 영역에서 (비핵심적인 확장을 가지지 않은) 핵심 파이썬은 사용하기 더 쉽고 다른 어떤 언어와 거의 마찬가지로 빠릅니다, 그리고 이것때문에 파이썬은 많은 시스템 관리 형태의 작업에 유용합니다. 그리고 텍스트와 문자열 등등을 다루는 CGI 프로그래밍과 다른 어플리케이션의 영역 에도 유용합니다.

표준 확장 (PIL, COM, Numeric, oracledb, kjbuckets, tkinter, win32api, 등등.) 또는 (SWIG과 같은 도움 도구를 사용하시거나, 혹은 ILU/CORBA 또는 COM과 같은 객체 프로토콜을 사용하셔서, 여러분이 작성하신) 특수한 목적의 확장이 추가되면 파이썬은 대단히 편리한 "접착제" 또는 "조종간" 언어가 되어서 관련이 없는 소프트웨어 패키지들의 이질적인 모음을 작동시키는 것을 도와 줍니다. 예를 들어 Numeric을 oracledb와 결합함으로써 여러분은 SQL 데이타베이스가 통계분석을 하도록 도울 수 있거나, 심지어는 푸리에 변환까지도 도울 수 있습니다. 파이썬을 "접착제 언어"로서 특출나도록 하는 사양중의 하나는 파이썬의 단순하고, 유용하며, 그리고 강력한 C언어 실행시간 API입니다.

많은 개발자들은 또한 그래픽 사용자 인터페이스 개발 도움자로서 파이썬을 광범위하게 사용합니다.


1.18. FAQ 마법사 소프트웨어를 사용하여 나 자신만의 FAQ를 유지할 수 있나요?

물론입니다. 버전 1.0은 파이썬 1.5의 소스 배포본의 Tools 하부디렉토리에 배포됩니다

  http://www.python.org/ftp/python/src/py152.tgz


1.19. 어느 편집기가 파이썬 소스 코드를 편집하는 것을 훌륭하게 지원하나요?

유닉스에서는, 첫번째 선택은 Emacs/XEmacs입니다. 파이썬 코드를 편집하기 위한 정교한 모드가 있습니다, 파이썬 소스 배포 (Misc/python-mode.el)에서 구할 수 있습니다. 또한 XEmacs에 함께 묶여 있습니다 (우리는 여전히 FSF Emacs에 함께 묶을 수 있도록 하기 위한 법적인 세부사항 검토를 하고 있습니다). 웹 페이지를 가지고 있습니다:

    http://www.python.org/emacs/python-mode/index.html
유닉스, 윈도우 또는 매킨토시를 위한 많은 선택사항들이 있습니다. 리차드 존스(Richard Jones)씨가 파이썬 뉴스그룹에 올라온 글들로부터 표를 편집하여 놓았군요:

http://www.bofh.asn.au/~richard/editors.html
윈도우와 맥을 위해서는 FAQ 질문 7.10을 참조하세요.


1.20. 나는 이전에 프로그램 해 본 적이 없어요. 파이썬 지도서가 있나요?

몇 개가 있습니다, 그리고 적어도 한 개는 책입니다. 이제 시작하는 파이썬 프로그래머들을 위한 모든 정보는 여기에 모여 있습니다:

    Newbies.html


1.21. 도데체 www.python.org 은 어디에 위치하는가?

지금 현재는 암스텔담에 있습니다, XS4ALL의 배려하에 지원되고 있습니다:

    http://www.xs4all.nl/
이것을 준비해준 토마스 워터스(Thomas Wouters)에게 감사드립니다!!!!


앞으로    목차    제1장    2    3    4    5    6    7    8    다음으로