
Best Open Python Books - kenneth_reitz
http://pythonbooks.revolunet.com
======
simonw
I'm a big fan of Text Processing In Python, which has excellent chapters on a
bunch of topics including regular expressions, parsers and even compression
algorithms. It's available online (from the author's own website) here:
<http://gnosis.cx/TPiP/>

------
JulianWasTaken
So, just for a bit of (opinionated) guidance, since the question of "What book
should I read to learn Python itself" will never go away, if you are a
beginner, I would recommend Zed Shaw's book there, or if you try it and don't
like its style (or want to compliment it), then Downey's _How to Think Like a
Computer Scientist_ is also pretty good.

If you're already coming from some other language, or would classify yourself
as something other than a beginner, the best resource is the official tutorial
(<http://docs.python.org/tut>), which isn't listed on that list.

Also since it comes up so often, Dive Into Python is _not_ a resource that I
would recommend. From what I've seen, Google's video series is mediocre, and
an OK intro if books are not for you. The recent Udacity course hasn't been
too great from the small samples I've seen from it either, but I can't say
that's enough to say "skip it" conclusively. I also was recently made aware of
KOANS for Python (<https://github.com/gregmalcolm/python_koans>) which, though
I haven't gone through it, I'd very much agree with ideologically as a good
beginner's resource to complement a book.

~~~
zedshaw
I agree with this, but I'll throw out one other way to learn Python if you
already know a programming language:

1\. Blast through just about any book and type in all the code getting it all
to run. DO NOT just read the book. Coders constantly equate "I read about it"
with "I can do it".

2\. Go to any web framework that has a decent tutorial and build whatever they
have you build. If web isn't your thing then find your thing and do that.

3\. Pick a random thing (website, game, log parser) and try to replicate a
small version of it.

4\. Then try writing all the major algorithms in that language. Linked Lists,
Arrays, Hashmaps, Binary Trees, string search and some hashing at a minimum.

That'll get you up to speed in the language quick, assuming you already know a
couple of other ones.

~~~
PaulMcCartney
Hey Zed! Thanks for all your great work! Signed, your student.

~~~
ntide
Paul McCartney does programming? Woah.

------
freyrs3
There's also "Good to Great Python Reads": <http://jessenoller.com/good-to-
great-python-reads/>

------
systems
Learn Python The Hard Way (by zed shaw) <http://learnpythonthehardway.org/>

The online HTML version is free

------
okal
A few more here <http://hackershelf.com/topic/python/>

------
Sauce1971
<http://web2py.com/book> I never see any of the cool guys mentioning web2py.
Thinking of using it in an upcoming project. Wonder what is "wrong" with it?
:-)

~~~
kingkilr
[http://www.reddit.com/r/Python/comments/ex54j/seeking_clarif...](http://www.reddit.com/r/Python/comments/ex54j/seeking_clarification_on_pylonsturbogearspyramid/c1bo1v5)
summarizes my feelings on it nicely.

~~~
beagle3
And if I may add mine - the arguments brought forth by Jacobian (Kaplan Moss,
of Django fame) and Mitsushiko (Ronacher, of Flask fame) belong in the fiction
department. Hundreds of web2py apps later, no one is confused by the
additional 15 builtins, or by the concat-then-exec behavior. I am active on
the web2py mailing list, and in two years and thousands of newbie questions, I
don't remember a single one where this caused the fearful confusion that
jacobian and matsushiko fear so much.

If you have any experience programming and want to learn Python for the
purpose of developing web applications, the web2py book is a good resource.

------
greenonion
Any idea why The Django Book (<http://www.djangobook.com/>) is not on the
list? It seems to be the go-to Django beginner's book for many people.

~~~
brntn
The Django Book, though great, is ridiculously out of date - the print version
is written for Django 0.96, the incomplete web version is for Django 1.0, and
Django 1.4 was just released.

It's a great resource, and was very useful to myself when learning Django back
in the day, but the regular Django docs have far surpassed it on my made up
usefulness scale.

~~~
greenonion
Well I guess that makes sense, seeing that version 2 hasn't been updated since
2009. Too bad though, it is really well-written.

------
manaskarekar
Here's one, Building Skills in Python:
<http://www.itmaybeahack.com/homepage/books/python.html>

------
bangbang
Learning Python by Mark Lutz is worth a mention for those who want to
understand the "why" as well as the "how".

~~~
sputnikus
But Learning Python isn't free, is it?

~~~
bangbang
Ah, yes, correct.

------
emmelaich
I would add the Python Cookbook. Technically the book is not free but all the
code is available at ActiveState.

------
mephitix
The Python Challenge is a great way to apply what you learned from other
resources towards a fun practical experience:
<http://www.pythonchallenge.com/>

------
j754
<http://www.greenteapress.com/thinkpython/thinkpython.html>

------
gjkood
Thank you. Nice to have them in one place and free at the same time.

------
anandagarwaal
thanks for the links.

