파이썬을 배우는 최고의 방법

10 Aug 2014

원문 : The Best Way to Learn Python - Tuts+ Code Article(참조를 위해 최소한으로 요약 번역하였으니 원문을 꼭 참조하세요!)

파이썬은 이전보다 더 인기있으며, 백엔드 웹서버에서 프론트엔드 게임 개발까지 어디서나 사용되고 있다. 파이썬은 정말 일반적인 목적의 언어이며 자존심있는 프로그래머의 무기 중 필수 툴이다.

임무 1: 기초에서 시작하라

두 가지 버전의 파이썬이 있다: 파이썬 2.7과 파이썬 3.4. 어느 것을 선택할지는 크게 중요하지 않다. 입문자에게는 특히, 차이점이 미미하다. 알아야 한다면, 파이썬 2는 서드파티 지원이 훨씬, 훨씬 더 많고, 파이썬 3는 언어를 설계하는 것이 개발자들의 주요 초점이다.

Wikibooks’ Non-Programmers Tutorial for Python

위키북스는 새로운 것을 배우는 훌륭한 소스이며, 파이썬도 예외는 아니다. 너무 기술적이지 않고 유용하고 보람있는 무언가를 바로 코딩할 수 있다.

The Official Python Tutorial

python.org의 공식 문서보다 더 나은 정보 소스를 찾을 수 없을 것이다. 그러나, 바로 뛰어들기를 원한다면, 시작하기에 베스트 장소는 아닐 것이다. 위키북스보다 더 기술적이며, 언어를 숙달해갈 때 나중에 도움이 된다.

초보자에게는 파이썬 2와 파이썬 3의 가장 큰 차이점은 파이썬 2는 괄호없이 print를 사용할 수 있고, 파이썬 3는 괄호가 있어야 한다. 그게 다다.

임무 2: 튜토리얼과 스크린 캐스트

TheNewBoston’s Python Programming Tutorials

강사가 재미와 듣기 쉬움을 균형있게 전달한다. 프로그래밍에 지식이 없어도 된다.

Nettuts+’s Python from Scratch

프로그래밍 경험없이도 장고를 이용한 다이내믹 웹사이트를 만들게 해준다.

ShowMeDo’s Python Screencasts

완전초보부터 중급까지의 파이썬 테크닉과 관련된 비디오 카탈로그가 아주 많다.

Build a Python Bot That Can Play Web Games

완전 초보에게 추천하지는 않지만, 언급할만한 가치는 있다. 간단한 게임을 하는 파이썬 봇을 만드는 법을 보여준다. 매일 반복적인 작업에 적용할 수 있다.

임무 3: 무료 e북들!

고퀄의 무료 e북이 넘치고 있고, 아래는 그 중 베스트 목록이다.

Learn Python the Hard Way

이름과 다르게 매우 쉽게 배울 수 있다.

Think Python: How to Think Like a Computer Scientist

부제와 같이 이론적인 면을 강조한다. 완전초보에게는 약간 어렵지만 알고리즘 이론과 고급 개념에 대해 읽을 수 있다.

Invent with Python

배워서 써먹고 싶다면, 게임을 만드는 것이 좋다! 파이썬을 몰랐더라도 이 책으로 게임을 만들 수 있다.

The Django Book

웹 개발을 위해 파이썬을 배우고 싶다면, 장고 프레임워크를 사용할 것이다. 파이썬에 능숙하고 프레임워크에 초보라면 이 책이 장고를 가르쳐 준다.

PythonBooks

난이도와 주제 따른 파이썬 책에 대한 공식 위키. 한글 책도 소개되어 있다.

임무 4: 스택오버플로우와 친해져라

스택오버플로우에 초보자 에러와 문제만 있는 것은 아니다. 예로 Hidden features of Python을 한번 봐라. 정식 튜토리얼에 없는 수많은 팁과 트릭을 볼 수 있으며, 중급에서 고급 파이썬 사용자에 매우 도움되는 것이다.

임무 5: 프로젝트 오일러

Project Euler(오일러로 발음한다)에서 400 문제를 풀 수 있다. 각 문제는 대략 50%의 수학과 50%의 프로그래밍이다.

새로운 문제를 해결하면 포럼 글타래를 볼 수 있다. 이 곳에서 많은 사람들이 서로 자신의 해결책과 아이디어를 토론하고 있다. 글타래의 후반 페이지에 있는 많은 해결책이 파이썬으로 되어 있을 것이다. 이것은 정말 여러분의 프로그래밍 능력을 키우는 열쇠가 될 것이다. 여러분보다 빠른 해결책이 있다면 시간을 내서 분석하라.

파이썬으로 된 프로젝트 오일러 문제에 대한 정말 훌륭한 블로그도 있다. 배우려고 한다면, 문제에 막혀서 다른 프로그래머의 작업을 살짝 엿보는 것을 부끄러워 하지마라.

임무 6: 게임 만들기

게임을 만드는 것보다 더 만족스러운 것이 거의 없다. 가파른 학습 곡선이 될 수 있지만, 할 가치가 있고 매우 보람있다. PyGame은 가장 알려진 파이썬 게임 라이브러리이며, 무료 투토리얼도 많이 발견할 수 있을 것이다. 여기 베스트 PyGame 튜토리얼이 몇 개 있다.

Pygame 공식 문서

오리지널 파이썬 튜토리얼과 같이 PyGame 개발자도 소개 문서가 가지고 있지만 너무 기술적이다. 그러나 개발자 문서는 항상 정보의 베스트 소스가 될 것이다.

Invent With Python (With PyGame)

TheNewBoston’s Computer Game Development Tutorial

위의 가이드와는 다르게 더 요점적이지만 완전한 게임을 만들게 하지는 않는다.

임무 7: 인기 라이브러리와 툴 알기

PyPy

CPU 집중적인 작업을 하려면, 파이썬 자체로는 병목이 생기는 것을 알게되어 아마 PyPy를 필요로 할 것이다. PyPy는 처리속도를 높여줄 수 있는 파이썬의 대체 컴파일러이다.

NumPy + SciPy

보통 이 두개는 나란히 간다(SciPy가 NumPy에 의존한다). 수학적이거나 과학적인 연구를 위한 진지한 계산 처리를 한다면 이 두 개의 라이브러리는 베스트 친구가 될 것이다. NumPy와 SciPy는 파이썬의 수학적인 함수와 능력을 확장해주고 작업들을 엄청나게 가속할 수 있다.

BeautifulSoup

BeautifulSoup은 정말 아름답다. 정보를 얻기위해 HTML 페이지를 긁어야 할 필요가 있다면 가져오는 것이 매우 좌절스럽고 머리를 쥐어뜯는 것이라는 잘 알게 될 것이다. BeautifulSoup이 모든 것을 하고 수명 몇 년을 벌어줄 것이다. 강추한다.

Python Imaging Library

Python Imaging Library (PIL)는 이미지를 다루는 모든 일에 훌륭하다.

Django

웹 개발이 목표라면 장고 프레임워크를 사용하게 될 것이다. 가장 널리 알려진 웹 프레임워크이며 학습 리소스도 가장 많다.

임무 8: 오픈소스 프로젝트에 관여하라

언어를 파악하고나면 다른 사람의 코드를 읽고 이해하는 것이 언제나 중요한 스킬이다 - 말할 것도 없이, 배우는 훌륭한 방법이기도 하다. 오픈소스 프로젝트들이 좋다. 다른 사람이 여러분의 코드를 판단하는 것을 걱정하지마라. 당장 공헌해야할 필요도 없다. 개선할 무언가를 봤다면, 훌륭하다! 개선사항을 제출하라. 오픈소스의 존재 이유이다.

참고 링크

Share this:

comments powered by Disqus