mirror of
https://github.com/kennethreitz/python-guide.git
synced 2026-06-05 14:50:19 +00:00
f828b185d9
Changed choosen to chosen Replaced python with Python
181 lines
6.4 KiB
ReStructuredText
181 lines
6.4 KiB
ReStructuredText
Learning Python
|
|
===============
|
|
|
|
Beginner
|
|
--------
|
|
|
|
Learn Python Interactive Tutorial
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Learnpython.org is an easy non-intimidating way to get introduced to Python.
|
|
The website takes the same approach used on the popular `Try Ruby <http://tryruby.org/>`_
|
|
website, it has an interactive Python interpreter built into the site that
|
|
allows you to go through the lessons without having to install Python locally.
|
|
|
|
`Learn Python <http://www.learnpython.org/>`_
|
|
|
|
|
|
If you want a more traditional book, *Python For You and Me* is an
|
|
excellent resource for learning all aspects of the language.
|
|
|
|
`Python for You and Me <http://pymbook.readthedocs.org/>`_
|
|
|
|
|
|
Learn Python the Hard Way
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This is an excellent beginner programmer's guide to Python. It covers "hello
|
|
world" from the console to the web.
|
|
|
|
`Learn Python the Hard Way <http://learnpythonthehardway.org/book/>`_
|
|
|
|
|
|
Crash into Python
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
Also known as *Python for Programmers with 3 Hours*, this guide gives
|
|
experienced developers from other languages a crash course on Python.
|
|
|
|
`Crash into Python <http://stephensugden.com/crash_into_python/>`_
|
|
|
|
|
|
Dive Into Python 3
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
Dive Into Python 3 is a good book for those ready to jump in to Python 3. It's
|
|
a good read if you are moving from Python 2 to 3 or if you already have some
|
|
experience programming in another language.
|
|
|
|
`Dive Into Python 3 <http://www.diveinto.org/python3/>`_
|
|
|
|
Think Python: How to Think Like a Computer Scientist
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Think Python attempts to give an introduction to basic concepts in computer
|
|
science through the use of the Python language. The focus was to create a book
|
|
with plenty of exercises, minimal jargon and a section in each chapter devoted
|
|
to the subject of debugging.
|
|
|
|
While exploring the various features available in the Python language the
|
|
author weaves in various design patterns and best practices.
|
|
|
|
The book also includes several case studies which have the reader explore the
|
|
topics discussed in the book in greater detail by applying those topics to
|
|
real-world examples. Case studies include assignments in GUI and Markov
|
|
Analysis.
|
|
|
|
`Think Python <http://greenteapress.com/thinkpython/html/index.html>`_
|
|
|
|
|
|
Python Koans
|
|
~~~~~~~~~~~~
|
|
|
|
Python Koans is a port of Edgecase's Ruby Koans. It uses a test-driven
|
|
approach, q.v. TEST DRIVEN DESIGN SECTION to provide an interactive tutorial
|
|
teaching basic Python concepts. By fixing assertion statements that fail in a
|
|
test script, this provides sequential steps to learning Python.
|
|
|
|
For those used to languages and figuring out puzzles on their own, this can be
|
|
a fun, attractive option. For those new to Python and programming, having an
|
|
additional resource or reference will be helpful.
|
|
|
|
`Python Koans <http://bitbucket.org/gregmalcolm/python_koans>`_
|
|
|
|
More information about test driven development can be found at these resources:
|
|
|
|
`Test Driven Development <http://en.wikipedia.org/wiki/Test-driven_development>`_
|
|
|
|
A Byte of Python
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
A free introductory book that teaches Python at the beginner level, it assumes no
|
|
previous programming experience.
|
|
|
|
`A Byte of Python for Python 2.x <http://www.ibiblio.org/swaroopch/byteofpython/read/>`_
|
|
`A Byte of Python for Python 3.x <http://swaroopch.com/notes/Python_en-Preface/>`_
|
|
|
|
|
|
Advanced
|
|
--------
|
|
|
|
Pro Python
|
|
~~~~~~~~~~
|
|
|
|
This book is for intermediate to advanced Python programmers who are looking to understand how
|
|
and why Python works the way it does and how they can take their code to the next level.
|
|
|
|
|
|
Expert Python Programming
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Expert Python Programming deals with best practices in programming Python and
|
|
is focused on the more advanced crowd.
|
|
|
|
It starts with topics like decorators (with caching, proxy, and context manager
|
|
case-studies), method resolution order, using super() and meta-programming, and
|
|
general :pep:`8` best practices.
|
|
|
|
It has a detailed, multi-chapter case study on writing and releasing a package
|
|
and eventually an application, including a chapter on using zc.buildout. Later
|
|
chapters detail best practices with writing documentation, test-driven
|
|
development, version control, and optimization/profiling.
|
|
|
|
`Expert Python Programming <http://www.packtpub.com/expert-python-programming/book>`_
|
|
|
|
The Python Tutorial
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This is the official tutorial, it covers all the basics, and offers a tour of the
|
|
language and the standard library, recommended for those who need a quickstart
|
|
guide to the language.
|
|
|
|
`The Python Tutorial <http://docs.python.org/tutorial/index.html>`_
|
|
|
|
For Engineers and Scientists
|
|
----------------------------
|
|
|
|
A Primer on Scientific Programming with Python
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
A Primer on Scientific Programming with Python, written by Hans Petter Langtangen,
|
|
mainly covers Python's usage in scientific field. In the book, examples are
|
|
chosen from mathematics and the natural sciences.
|
|
|
|
`A Primer on Scientific Programming with Python <http://www.springer.com/mathematics/computational+science+%26+engineering/book/978-3-642-18365-2>`_
|
|
|
|
Numerical Methods in Engineering with Python
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Numerical Methods in Engineering with Python,written by Jaan Kiusalaas, attempts to
|
|
emphasis on numerical methods and how to implement them in Python.
|
|
|
|
`Numerical Methods in Engineering with Python <http://www.cambridge.org/us/academic/subjects/engineering/engineering-mathematics-and-programming/numerical-methods-engineering-python-2nd-edition>`_
|
|
|
|
References
|
|
----------
|
|
|
|
Python in a Nutshell
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Python in a Nutshell, written by Alex Martelli, covers most cross-platform
|
|
Python's usage, from its syntax to built-in libraries to advanced topics such
|
|
as writing C extensions.
|
|
|
|
`Python in a Nutshell <http://shop.oreilly.com/product/9780596001889.do>`_
|
|
|
|
The Python Language Reference
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This is Python's reference manual, it covers the syntax and the core semantics of the
|
|
language.
|
|
|
|
`The Python Language Reference <http://docs.python.org/reference/index.html>`_
|
|
|
|
Python Pocket Reference
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Python Pocket Reference, written by Mark Lutz, is an easy to use reference to the
|
|
core language, with descriptions of commonly used modules and toolkits. It covers
|
|
Python 3 and 2.6 versions.
|
|
|
|
`Python Pocket Reference <http://shop.oreilly.com/product/9780596158095.do>`_
|