이 노트북은 제이크 반더플라스(Jake VanderPlas)의 A Whirlwind Tour of Python(OReilly Media, 2016)를 기반으로 만들어졌습니다. 이 내용은 CC0 라이센스를 따릅니다. 전체 노트북의 목록은 https://github.com/rickiepark/WhirlwindTourOfPython 에서 볼 수 있습니다.

| 목차 | 파이썬 코드를 실행하는 법 >

1. 소개

교육용과 스크립팅 언어로 1980년대 후반에 고안된 파이썬은 이제 학계와 산업계에 걸쳐 많은 프로그래머, 엔지니어, 연구자, 데이터 과학자들에게 필수적인 도구가 되었습니다. 데이터 위주 과학 분야를 위한 무료 공개 툴을 만들고 돕는데 열정적인 한 천문학자로서 저는 파이썬이 매일 매일 부딪히는 여러 종류의 문제들을 해결하는 데 거의 완벽한 도구라는 것을 알게 되었습니다. 대규모 천문학 데이터셋에서 단서를 찾거나, 웹에서 데이터를 스크래핑하고 조작하거나 또는 매일하는 연구 작업들을 자동화합니다.

파이썬의 매력은 작업 영역에 맞는 많은 도구들이 있는 생태계로 인한 편리함은 물론 파이썬 그 자체의 간단함과 아름다움에 있습니다. 예를 들어, 과학 컴퓨팅과 데이터 과학 분야에서 대부분의 파이썬 코드는 안정적이고 유용한 다음과 같은 패키지들 위에 구축되어 있습니다:

이들과 동반되는 수 많은 다른 도구와 패키지들 모두 중요합니다. 여러분이 처리해야 할 과학적 또는 데이터 분석적 작업이 있다면 아마도 누군가가 패키지를 만들어 놓았을 가능성이 높습니다.

그러나 이런 데이터 과학 생태계의 파워를 이용하려면 먼저 파이썬 언어 자체에 친숙해져야 합니다. MATLAB, IDL, R, Java, C++ 같은 언어에 대해 (이따끔 매우 넓게) 알고 있는 학생이나 동료들이 아주 기초가 아니라 컴퓨팅 언어에 대한 사전 지식을 감안해서 파이썬에 대한 간단하지만 폭 넓은 소개를 담은 자료를 찾는 것을 자주 목격합니다. 이 글이 바로 그 부분을 채우려고 합니다.

그래서 이 리포트는 프로그래밍에 대한 폭 넓은 안내나 파이썬 언어의 완벽한 소개를 목적으로 하지 않습니다. 여기서는 파이썬의 핵심적인 문법과 의미, 내장 데이터 타입과 구조, 함수 정의, 제어 구문 그외 언어의 여러 측면을 빠르게 둘러 보겠습니다. 이 글의 목적은 독자들이 조금 전 설명한 데이터 과학 패키지들을 탐험하기 위한 견고한 기초를 갖추게 하는 것입니다.

설치와 실용적 고려사항

윈도우즈, 리눅스, 맥에 상관없이 파이썬과 과학 컴퓨팅을 위한 라이브러리들을 설치하는 것은 쉽습니다. 이 섹션에서 컴퓨터 셋팅할 때 고려해야할 몇 가지 내용을 소개합니다.

파이썬2 vs 파이썬3

이 리포트는 파이썬 2.x 시리즈와는 호환되지 않는 개선된 파이썬3의 문법을 사용합니다. 파이썬 3.0이 2008년에 처음 출시되었지만 비교적 더디게 적용되어 왔습니다. 특히 과학과 웹 개발 커뮤니티가 그렇습니다. 이런 이유는 주로 필수적인 패키지와 툴킷들이 새로운 언어의 내부 구조와 호환되도록 하는데 시간이 걸리기 때문이었습니다. 그러나 2014년 초부터 데이터 과학 생태계의 중요한 대부분의 패키지들의 안정 버전이 파이썬 2와 3에서 모두 완전히 호환되었습니다. 그러므로 이 책은 새로운 파이썬 3의 문법을 사용합니다. 그렇더라도 이 책에 있는 코드의 많은 부분은 여전히 파이썬2에서 수정없이 작동시킬 수 있습니다. 파이썬2와 호환되지 않는 문법이 있는 경우 가능한 명확하게 언급하도록 노력하겠습니다.

conda를 사용한 설치

파이썬을 설치하는 방법이 여러가지가 있지만 제가 추천하는 한 가지는 - 특히 위에서 언급한 데이터 과학 도구들을 사용하려고 할 때 - 크로스 플랫폼 아나콘다(Anaconda) 배포판입니다. 아나콘다 배포판에는 두 가지 종류가 있습니다:

아나콘다에 포함된 어떤 패키지도 미니콘다에서 수동으로 설치할 수 있으므로 미니콘다로 시작할 것을 추천합니다.

시작하려면 미니콘다 패키지를 다운받아 설치합니다(파이썬3 버전을 선택했는지 확인하세요). 그리고 나서 Jupyter를 설치합니다:

[~]$ conda install jupyter

콘다 환경을 만들고 사용하는 등의 conda에 대한 더 자세한 설명은 앞의 미니콘다 패키지 문서 링크를 참고하세요.

파이썬의 선(Zen)

파이썬 매니아들은 파이썬이 얼마나 직관적이고 아름답고 재미있는지를 자주 언급합니다. 저도 이에 동의하지만 아름다움, 직관, 재미는 익숙함과 함께 동반되는 경우가 많다는 것을 알고 있고 그래서 다른 언어와 친숙한 사람들에게 이런 감정은 조금 잘난척하는 것으로 보일 수 있습니다. 그럼에도 불구하고 여러분이 파이썬을 접할 기회가 있다면 아마 이런 느낌을 받게될 것이라고 생각합니다. 그리고 많은 파이썬의 코딩 관례가 생겨난 이 프로그래밍 철학을 정말 알고 싶다면 파이썬 인터프리터에 숨은 작은 기능을 참고하세요. 눈을 감고 몇 분간 명상을 하고나서 import this를 입력하세요:

이런 생각으로 파이썬 언어에 대한 여행을 시작해 보겠습니다.

| 목차 | 파이썬 코드를 실행하는 법 >