tags:

views:

2070

answers:

23

I am taking a class that requires Python. We will review the language in class next week, and I am a quick study on new languages, but I was wondering if there are any really great Python books I can grab while I am struggling through the basics of setting up my IDE, server environment and all those other "gotchas" that come with a new programming language. Suggestions?

+8  A: 

I expect that Learning Python is useful, and quick to read.

Peter Hilton
It gets quite mixed reviews e.g. on Amazon; some like it, some say it's way too 'wordy' and that even after hundreds of pages you haven't learned much practical stuff. I personally found it very useful when skimming through the 1st ed, and am considering buying the latest edition...
Jonik
+1 for Learning Python. My dad picked up Python over the holidays, after not having programmed in over 15 years, by reading that book.
technomalogical
Learning python doesn't cover 'if' statements until about page 200. How can you write an interesting program without 'if'? I like how the book is written, but not the order it is presented.
Paul Vincent Craven
I liked the 1st edition, but I think the 3rd is _so_ boring ^^;
Joril
+5  A: 

I found Learning Python really good. It's pretty long (>700 pages) but extremely readable and you can rip through it very quickly given you're a quick study :-)

kronoz
+32  A: 

I loved Dive Into Python, especially if you're a quick study. The beginning basics are all covered (and may move slowly for you), but the latter few chapters are great learning tools.

Plus, Pilgrim is a pretty good writer.

kamens
I don't like "Dive Into Python" at all it uses Javaesque-style code examples. http://diveintopython3.org/ is much more pythonic.
J.F. Sebastian
+7  A: 

Since you're already familiar with other languages and a quick study, I'd recommend Python in a Nutshell by Alex Martelli, very concise and also useful later on for reference.

dF
This is my favorite python book.
apphacker
Python in a Nutshell is more like a reference than a book to teach you python. Might not be the best python book to read first. That being said, it currently sits on my desk and I use it all the time as a quick reference.
nategood
+7  A: 

Two good online-books, that also describes the basics of the environment is diveintopython.org and the "official" tutorial.

goxe
A: 

Dive Into Python is an excellent book geared toward programmers wanting to pick up Python. The best part is that it's freely available online. I started learning a little Python a few months ago and I've worked through about half of the book. It's a very comprehensive tool that's good for learning the language and also for a reference down the road.

Edit: Kamens is a faster typer than I am.

Justin Bennett
hah, Steve Yegge keeps on saying that thou shall learn to type well :D Here's another proof :D
Bartosz Radaczyński
A: 

Learning Python is how I learned the language. It's a quick read, and very well organized around fundamental concepts.

Chris Upchurch
+1  A: 

Python Pocket Reference.

I have both Learning Python & Programming Python and I almost always go to the Pocket Reference first.

Mark Biek
+2  A: 

Many people have suggested Dive Into Python, which is probably the best Python book out there for someone who's already a good programmer. However, if you're new to programming, the best book is probably "How to Think Like a Computer Scientist: Learning With Python" (http://openbookproject.net/thinkCSpy/index.xhtml)

Eli Courtwright
I agree, plus 'How to think like a Computer Scientist' is a very quick read. There's all the basic information, minus the fluff.
Aaron
+1  A: 

I'll second Daniel's recommendation of Python in a Nutshell. If you're quick to pick up new languages, it's probably exactly what you're looking for. There's a nice overview of how the language works, and then a discussion of most of the standard library. It's concise and clear, and doesn't assume that you don't know basic programming things already.

jeremiahd
+2  A: 

I think that Think Python is very good for first-time programmers. Pleasant writing style too..

Joril
A: 

I learned most of my initial pythonese from this super-handy quick reference:

http://rgruet.free.fr/PQR2.3.html

Tyler
An updated version of that reference for Python 2.5 is also available:http://rgruet.free.fr/PQR25/PQR2.5.html
paprika
A: 

I tried learning from Programming Python and I didn't like it. I'm going to give Python in a Nutshell a try as per suggestions below.

Martin Clarke
A: 

I'm a big fan of Core Python

mluebke
+1  A: 

I quite enjoyed reading H.Deitel - Python - How to Program. It's very long but basics of Python are covered in first 300-400 pages. It's a nice book for beginners.

Hollgam
A: 

Dive Into Python is a good choice, but I also recommend Python Visual Quickstart Guide For someone that knows how to program and wants to get the 80% of the basics of the language, it's a good deal. And it retails at $20. It's certainly not the last thing I'd read on python, but it's a good first one.

mtruesdell
A: 

I learned more from the python cookbook than any other python book.

Jason Baker
A: 

I have to second (third? fourth?) Dive Into Python. It's just great for quick reference and reading. As an added suggestion, read some code! That always helps.

Andrew Szeto
A: 

Dive into Python for a fast jump start, Learning Python (O'Reilly) is better for the long complete journey.

Just my $0.02.

+6  A: 

There are quite a few good books online. These have a broad scope, similar to O'Reilly's "Learning Python":

Python.org maintains two lists of for learning python, depending on your level of programming expertise:

I highly recommend "Python Essential Reference" by David Beazley. You might find this sufficient if you're an experienced programmer and want a concise and comprehensive overview of the language. If you're a novice programmer this probably won't provide enough hand-holding. While I learned Python from other books, this is—by far—the most useful python book I own. Some notes:

  • This is a reference book not a tutorial
  • The first 125 pages are a complete overview of the language. It's not a tutorial, but it covers the language from top to bottom
  • If you're an experienced programmer, this should be enough to learn the language
  • If you're a novice programmer, start with a different tutorial
  • The rest of the book is a comprehensive and extremely useful reference
  • The 3rd edition covers up to python 2.4, but not beyond.
  • The 4th edition is due for release in July 2009

Note: I originally posted the same/similar answer to this question. I was asked to put a copy of my answer here.

Karl Fast
+1  A: 
Martin Beckett
-1: I'm sure it is a wonderful book but it is unrelated to programming.
J.F. Sebastian
+1  A: 

It may not be as applicable, but I just cracked open Programming in Python 3 by Mark Summerfield and so far it seems pretty good, although it is focused on Python 3, so if you're planning on learning something like Django, which hasn't made the jump to Python 3 and likely won't for some time, this book might not be the best. Additionally, even though Python 3.0 has been out for a little while now, I can almost guarantee your course is using Python 2.x. Academia has a tendency to trail behind. I had a C++ recitation professor who I swear wasn't aware that C++ has been updated since 1985.

Andrew Noyes
+2  A: 

I have also been using Programming in Python 3 by Mark Summerfield and find it very good.

womble
+1: Well written, very good and usable example programs, and perfect for Python 3.
Tim Pietzcker