파이썬 배우기

../_images/32800783863_11a00db52c_k_d.jpg

초보자

파이썬 튜토리얼

이것은 공식 튜토리얼입니다. 모든 기초를 다루며, 언어와 표준 라이브러리에 대한 둘러보기를 제공합니다. 언어에 대한 빠른 시작 가이드가 필요한 분들에게 추천합니다.

Real Python

Real Python은 다양한 전문 파이썬 개발자 팀이 만든 무료의 깊이 있는 파이썬 튜토리얼 저장소입니다. Real Python에서는 파이썬의 모든 것을 처음부터 배울 수 있습니다. 파이썬의 가장 기초적인 부분부터 웹 개발, 웹 스크래핑, 데이터 시각화 등 그 이상까지 다룹니다.

Python Basics

pythonbasics.org는 초보자를 위한 입문 튜토리얼입니다. 이 튜토리얼에는 연습 문제가 포함되어 있습니다. 기초를 다루며 객체지향 프로그래밍과 정규 표현식 같은 깊이 있는 강의도 있습니다.

Python for Beginners

thepythonguru.com은 초보 프로그래머에 초점을 맞춘 튜토리얼입니다. 많은 파이썬 개념을 깊이 다룹니다. 람다 표현식과 정규 표현식 같은 파이썬의 일부 고급 구조도 가르쳐 줍니다. 그리고 마지막에는 “파이썬으로 MySQL db에 접근하는 방법” 튜토리얼로 마무리합니다.

Learn Python 인터랙티브 튜토리얼

Learnpython.org는 파이썬을 접하는 쉽고 위협적이지 않은 방법입니다. 이 웹사이트는 인기 있는 Try Ruby 웹사이트에서 사용된 것과 같은 접근 방식을 취합니다. 사이트에 인터랙티브한 파이썬 인터프리터가 내장되어 있어 파이썬을 로컬에 설치하지 않고도 강의를 따라갈 수 있습니다.

Python for You and Me

더 전통적인 책을 원한다면, Python For You and Me 는 언어의 모든 측면을 배울 수 있는 훌륭한 자료입니다.

Learn Python Step by Step

Techbeamers.com는 파이썬을 가르치기 위한 단계별 튜토리얼을 제공합니다. 각 튜토리얼은 논리적으로 추가된 코딩 스니펫으로 보강되며, 학습한 주제에 대한 후속 퀴즈가 포함되어 있습니다. 구직자를 돕기 위한 파이썬 면접 질문 섹션도 있습니다. 또한 필수 파이썬 팁 을 읽고, 품질 좋은 코드를 작성하기 위한 최선의 코딩 관행 을 배울 수 있습니다. 이곳에서 파이썬을 빠르게 배울 수 있는 적절한 플랫폼을 만날 수 있습니다.

Learn Python Basic to Advanced

Online Python Tutor

Online Python Tutor는 프로그램이 어떻게 실행되는지에 대한 시각적이고 단계별인 표현을 제공합니다. Python Tutor는 컴퓨터가 프로그램 소스 코드의 각 줄을 실행할 때 무슨 일이 일어나는지 이해하게 해주어, 프로그래밍을 배우는 근본적인 장벽을 사람들이 극복할 수 있도록 돕습니다.

Invent Your Own Computer Games with Python

이 초보자 책은 프로그래밍 경험이 전혀 없는 분들을 위한 책입니다. 각 장에는 작은 게임의 소스 코드가 있으며, 이러한 예시 프로그램을 사용하여 프로그래밍 개념을 보여주고 독자에게 프로그램이 “어떻게 생겼는지” 감을 줍니다.

Hacking Secret Ciphers with Python

이 책은 완전 초보자를 위해 파이썬 프로그래밍과 기초 암호학을 가르칩니다. 각 장은 여러 가지 암호와 그것들을 깰 수 있는 프로그램의 소스 코드를 제공합니다.

Learn Python the Hard Way

이것은 훌륭한 초보 프로그래머용 파이썬 가이드입니다. 콘솔에서 웹에 이르기까지 “hello world”를 다룹니다.

Crash into Python

Python for Programmers with 3 Hours 로도 알려진 이 가이드는 다른 언어를 사용해본 경험 있는 개발자에게 파이썬에 대한 속성 과정을 제공합니다.

Dive Into Python 3

Dive Into Python 3은 파이썬 3에 뛰어들 준비가 된 분들을 위한 좋은 책입니다. 파이썬 2에서 3으로 옮겨가고 있거나, 다른 언어로 이미 어느 정도 프로그래밍 경험이 있다면 좋은 읽을거리입니다.

Think Python: How to Think Like a Computer Scientist

Think Python은 파이썬 언어를 사용하여 컴퓨터 과학의 기본 개념을 소개하려 시도합니다. 연습 문제가 풍부하고 전문 용어는 최소화하며, 각 장에 디버깅 주제를 다루는 섹션이 있는 책을 만드는 데 초점을 두었습니다.

파이썬 언어에서 사용할 수 있는 다양한 기능을 탐색하면서, 저자는 다양한 디자인 패턴과 모범 사례를 함께 엮어 넣습니다.

이 책에는 또한 책에서 논의된 주제를 실제 세계의 예시에 적용하여 더 깊이 탐색하게 해주는 여러 케이스 스터디가 포함되어 있습니다. 케이스 스터디에는 GUI 프로그래밍과 마르코프 분석 과제가 포함됩니다.

Python Koans

Python Koans는 Edgecase의 Ruby Koans를 이식한 것입니다. 테스트 주도 접근 방식을 사용하여 파이썬의 기본 개념을 가르치는 인터랙티브 튜토리얼을 제공합니다. 테스트 스크립트에서 실패하는 단언(assertion) 구문을 고쳐 나가면서, 파이썬을 배우기 위한 순차적인 단계를 제공합니다.

언어에 익숙하고 스스로 퍼즐을 푸는 데에 익숙한 분들에게는 재미있고 매력적인 선택지가 될 수 있습니다. 파이썬과 프로그래밍에 새로 입문하는 분들에게는 추가 자료나 참고 자료가 있는 편이 도움이 됩니다.

테스트 주도 개발에 대한 더 많은 정보는 다음 자료에서 찾을 수 있습니다:

A Byte of Python

초보 수준에서 파이썬을 가르치는 무료 입문서로, 사전 프로그래밍 경험을 가정하지 않습니다.

Codecademy의 Computer Science Path

완전 파이썬 초보자를 위한 Codecademy 강좌입니다. 이 무료의 인터랙티브 강좌는 파이썬 프로그래밍의 기초(와 그 이상)를 제공하고 가르치며, 진행 중간중간 사용자의 지식을 테스트합니다. 이 강좌에는 학습에 대한 즉각적인 피드백을 받을 수 있는 내장 인터프리터도 들어 있습니다.

Code the blocks

Code the blocks 는 초보자를 위한 무료 인터랙티브 파이썬 튜토리얼을 제공합니다. 파이썬 프로그래밍과 “블록을 배치”하여 구조물을 만드는 3D 환경을 결합합니다. 튜토리얼은 점점 더 정교한 3D 구조물을 만들기 위해 파이썬을 사용하는 방법을 가르쳐, 파이썬을 배우는 과정을 재미있고 흥미롭게 만들어줍니다.

중급자

Python Tricks: The Book

간단한 예시로 파이썬의 모범 사례를 발견하고, 더 아름답고 파이썬다운 코드를 작성하기 시작하세요. Python Tricks: The Book 이 그 방법을 정확하게 보여줍니다.

실용적인 예시와 명확한 서술을 통해 파이썬의 중급 및 고급 수준 기능들을 마스터하게 됩니다.

Effective Python

이 책에는 파이썬다운 코드 작성을 개선하는 59가지 구체적인 방법이 담겨 있습니다. 227페이지로, 효율적인 중급 수준의 파이썬 프로그래머가 되기 위해 프로그래머가 해야 할 가장 일반적인 적응 사항 일부에 대한 매우 간단한 개요입니다.

고급자

Pro Python

이 책은 파이썬이 왜 이런 방식으로 동작하는지, 그리고 자신의 코드를 한 단계 더 발전시키는 방법을 이해하고자 하는 중급에서 고급 파이썬 프로그래머를 위한 책입니다.

Expert Python Programming

Expert Python Programming은 파이썬 프로그래밍의 모범 사례를 다루며, 보다 고급의 독자층에 초점을 맞춥니다.

데코레이터(캐싱, 프록시, 컨텍스트 매니저 케이스 스터디 포함), 메소드 결정 순서(MRO), super() 사용과 메타 프로그래밍, 그리고 일반적인 PEP 8 모범 사례 같은 주제로 시작합니다.

패키지와 궁극적으로는 응용을 작성하고 릴리즈하는 것에 대한 자세한 다중 장 케이스 스터디가 있으며, zc.buildout 사용에 대한 장도 포함되어 있습니다. 후반부 장들은 문서 작성, 테스트 주도 개발, 버전 관리, 최적화, 프로파일링 같은 모범 사례를 자세히 다룹니다.

A Guide to Python’s Magic Methods

이것은 파이썬의 ‘매직 메소드(magic methods)’를 설명하는 Rafe Kettler의 블로그 글 모음입니다. 매직 메소드는 더블 언더스코어로 둘러싸여 있으며(예: __init__), 클래스와 객체를 다양하고 마술 같은 방식으로 동작하게 만들 수 있습니다.

참고

Rafekettler.com이 현재 다운되어 있어, GitHub 버전으로 바로 갈 수 있습니다. 여기서 PDF 버전을 찾을 수 있습니다: A Guide to Python’s Magic Methods (GitHub 저장소)

엔지니어와 과학자를 위해

A Primer on Scientific Programming with Python

Hans Petter Langtangen이 쓴 A Primer on Scientific Programming with Python은 주로 과학 분야에서의 파이썬 사용을 다룹니다. 이 책에서는 수학과 자연과학에서 예시를 골랐습니다.

Numerical Methods in Engineering with Python

Jaan Kiusalaas가 쓴 Numerical Methods in Engineering with Python은 수치 해석 방법과 그것들을 파이썬으로 구현하는 방법에 중점을 둡니다.

기타 주제

Problem Solving with Algorithms and Data Structures

Problem Solving with Algorithms and Data Structures는 다양한 자료구조와 알고리즘을 다룹니다. 모든 개념은 파이썬 코드와 브라우저에서 바로 실행할 수 있는 인터랙티브 샘플로 설명됩니다.

Programming Collective Intelligence

Programming Collective Intelligence는 광범위한 기본 머신러닝과 데이터 마이닝 방법을 소개합니다. 수학적으로 매우 형식적이지는 않으며, 오히려 그 밑에 깔린 직관을 설명하는 데 초점을 맞추고 파이썬으로 알고리즘을 구현하는 방법을 보여줍니다.

Transforming Code into Beautiful, Idiomatic Python

Transforming Code into Beautiful, Idiomatic Python은 Raymond Hettinger의 동영상입니다. 파이썬의 최고 기능을 더 잘 활용하는 법을 배우고, 일련의 코드 변환을 통해 기존 코드를 개선하세요: “이것을 보면, 대신 저것을 하세요.”

Fullstack Python

Fullstack Python은 파이썬을 사용한 웹 개발에 대한 완전한 위에서 아래까지의 자료를 제공합니다.

웹 서버 설정부터 프론트엔드 디자인, 데이터베이스 선택, 최적화/확장 등에 이르기까지.

이름이 시사하듯, 완전한 웹 앱을 처음부터 빌드하고 실행하는 데 필요한 모든 것을 다룹니다.

PythonistaCafe

PythonistaCafe는 초대 전용 온라인 커뮤니티로, 파이썬과 소프트웨어 개발 애호가들이 서로의 성공과 성장을 돕는 곳입니다. 광범위한 프로그래밍 질문, 커리어 조언, 기타 주제가 매일 논의되는 파이썬 사용자(Pythonista)를 위한 상호 발전 클럽이라고 생각하면 됩니다.

참고 문헌

Python in a Nutshell

Alex Martelli가 쓴 Python in a Nutshell은 문법부터 내장 라이브러리, 그리고 C 확장 작성과 같은 고급 주제에 이르기까지, 대부분의 크로스 플랫폼 파이썬 사용법을 다룹니다.

The Python Language Reference

이것은 파이썬의 레퍼런스 매뉴얼입니다. 언어의 문법과 핵심 의미론을 다룹니다.

Python Essential Reference

David Beazley가 쓴 Python Essential Reference는 파이썬에 대한 결정판 레퍼런스 가이드입니다. 핵심 언어와 표준 라이브러리에서 가장 필수적인 부분을 간결하게 설명합니다. 파이썬 3과 2.6 버전을 다룹니다.

Python Pocket Reference

Mark Lutz가 쓴 Python Pocket Reference는 핵심 언어에 대한 쉽게 사용할 수 있는 레퍼런스이며, 일반적으로 사용되는 모듈과 툴킷에 대한 설명이 들어 있습니다. 파이썬 3과 2.6 버전을 다룹니다.

Python Cookbook

David Beazley와 Brian K. Jones가 쓴 Python Cookbook은 실용적인 레시피로 가득합니다. 이 책은 핵심 파이썬 언어뿐만 아니라 다양한 응용 도메인에 공통적인 작업을 다룹니다.

Writing Idiomatic Python

Jeff Knupp이 쓴 Writing Idiomatic Python에는 식별과 이해를 극대화하는 형식으로 가장 흔하고 중요한 파이썬 이디엄이 담겨 있습니다. 각 이디엄은 자주 사용되는 코드 조각을 작성하는 권장 방식으로 제시되며, 그 이디엄이 왜 중요한지에 대한 설명이 뒤따릅니다. 또한 각 이디엄에 대해 두 가지 코드 샘플, 즉 “해로운(Harmful)” 작성 방식과 “이디엄적(Idiomatic)” 방식을 담고 있습니다.