Fix spelling in learning.rst
[python-guide.git] / docs / intro / learning.rst
1 Learning Python
2 ===============
3
4 Beginner
5 --------
6
7 Learn Python Interactive Tutorial
8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
10 Learnpython.org is an easy non-intimidating way to get introduced to python.
11 The website takes the same approach used on the popular `Try Ruby <http://tryruby.org/>`_
12 website, it has an interactive python interpreter built into the site that
13 allows you to go through the lessons without having to install Python locally.
14
15     `Learn Python <http://www.learnpython.org/>`_
16
17 Learn Python the Hard Way
18 ~~~~~~~~~~~~~~~~~~~~~~~~~
19
20 This is an excellent beginner programmer's guide to Python. It covers "hello
21 world" from the console to the web.
22
23     `Learn Python the Hard Way <http://learnpythonthehardway.org/book/>`_
24
25
26 Crash into Python
27 ~~~~~~~~~~~~~~~~~
28
29 Also known as *Python for Programmers with 3 Hours*, this guide gives
30 experienced developers from other languages a crash course on Python.
31
32     `Crash into Python <http://stephensugden.com/crash_into_python/>`_
33
34
35 Dive Into Python 3
36 ~~~~~~~~~~~~~~~~~~
37
38 Dive Into Python 3 is a good book for those ready to jump in to Python 3. It's
39 a good read if you are moving from Python 2 to 3 or if you already have some
40 experience programming in another language.
41
42     `Dive Into Python 3 <http://diveintopython3.ep.io/>`_
43
44 Think Python: How to Think Like a Computer Scientist
45 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
47 Think Python attempts to give an introduction to basic concepts in computer
48 science through the use of the python language. The focus was to create a book
49 with plenty of exercises, minimal jargon and a section in each chapter devoted
50 to the subject of debugging.
51
52 While exploring the various features available in the python language the
53 author weaves in various design patterns and best practices.
54
55 The book also includes several case studies which have the reader explore the
56 topics discussed in the book in greater detail by applying those topics to
57 real-world examples. Case studies include assignments in GUI and Markov
58 Analysis.
59
60     `Think Python <http://greenteapress.com/thinkpython/html/index.html>`_
61
62
63 Python Koans
64 ~~~~~~~~~~~~
65
66 Python Koans is a port of Edgecase's Ruby Koans.  It uses a test-driven
67 approach, q.v. TEST DRIVEN DESIGN SECTION to provide an interactive tutorial
68 teaching basic python concepts.  By fixing assertion statements that fail in a
69  test script, this provides sequential steps to learning python.
70
71 For those used to languages and figuring out puzzles on their own, this can be
72 a fun, attractive option. For those new to python and programming, having an
73 additional resource or reference will be helpful.
74
75     `Python Koans <http://bitbucket.org/gregmalcolm/python_koans>`_
76
77 More information about test driven development can be found at these resources:
78
79     `Test Driven Development <http://en.wikipedia.org/wiki/Test-driven_development>`_
80
81 A Byte of Python
82 ~~~~~~~~~~~~~~~~
83
84 A free introductory book that teaches python at the beginner level, it assumes no
85 previous programming experience.
86
87     `A Byte of Python for Python 2.x <http://www.ibiblio.org/swaroopch/byteofpython/read/>`_
88     `A Byte of Python for Python 3.x <http://www.swaroopch.org/notes/Python_en:Table_of_Contents>`_
89
90
91 Advanced
92 --------
93
94 Pro Python
95 ~~~~~~~~~~
96
97 This book is for intermediate to advanced Python programmers who are looking to understand how
98 and why Python works the way it does and how they can take their code to the next level.
99
100
101 Expert Python Programming
102 ~~~~~~~~~~~~~~~~~~~~~~~~~
103 Expert Python Programming deals with best practices in programming Python and
104 is focused on the more advanced crowd.
105
106 It starts with topics like decorators (with caching, proxy, and context manager
107 case-studies), method resolution order, using super() and meta-programming, and
108 general PEP8 best practices.
109
110 It has a detailed, multi-chapter case study on writing and releasing a package
111 and eventually an application, including a chapter on using zc.buildout.  Later
112 chapters detail best practices with writing documentation, test-driven
113 development, version control, and optimization/profiling.
114
115     `Expert Python Programming <http://www.packtpub.com/expert-python-programming/book>`_
116
117 The Python Tutorial
118 ~~~~~~~~~~~~~~~~~~~~
119
120 This is the official tutorial, it covers all the basics, and offers a tour of the
121 language and the standard library, recommended for those who need a quickstart
122 guide to the language.
123
124     `The Python Tutorial <http://docs.python.org/tutorial/index.html>`_
125
126 References
127 ----------
128
129 Python in a Nutshell
130 ~~~~~~~~~~~~~~~~~~~~
131
132 Python in a Nutshell, written by Alex Martelli, covers most cross-platform
133 python's usage, from its syntax to built-in libraries to advanced topics such
134 as writing C extensions.
135
136 The Python Language Reference
137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138
139 This is Python's reference manual, it covers the syntax and the core semantics of the
140 language.
141
142     `The Python Language Reference <http://docs.python.org/reference/index.html>`_