tags:

views:

9583

answers:

15

I am a fairly experienced programmer, mostly C, C++, Java and C#... Can you recommend any Python books that would help me to get the most out of my existing experience? Many Python books I have read good reviews about seem to be aimed at the novice programmer - I'd like to find something that "gets right down to business". There are many good resources on the web of course but I would like to have a real book that possibly goes a bit into detail about specific concepts, techniques and patterns that are specific to python.

Related questions:

+16  A: 

http://diveintopython.org/ is a bit dated but still useful.

Steve Losh
..and you can't beat the price. I recommend it as well, very nice book and fast paced.
rodbv
Note that _Dive Into Python 3_ is in the works. http://diveintopython3.org/
oylenshpeegul
I too was looking for a "dead tree" book on Python. I've just finished reading through diveintopython3.org though and have to say it's probably as good or better than most paper books on Python would be (and it looks like a paper version can be purchased if absolutely required). I haven't read any other Python books though, so my experience is somewhat limited.
Bryce Thomas
While I like this book for a brief expository of the language I find that after reading it I have significant gaps in fundamental and technical aspects of the language. I wonder if there is a book like 'The Ruby Programming Language' for Python ...
bias
+7  A: 

Python in a Nutshell is a great book too.

Galwegian
+9  A: 

I'll never tire of recommending Code Like a Pythonista: Idiomatic Python.

It is not a book but for experienced programmer it contains more than most books.

J.F. Sebastian
While this is not a book, the approach he takes is great!
VoidPointer
Wow, thanks! I've been looking for something exactly like this.
Bob Somers
+3  A: 

Starting with python 3 then Programming in Python 3: A Complete Introduction to the Python Language together with Expert python when you have to start delivering apps (packaging installers libs etc)

O'reilly Programming python (3ed) is good but very long and not sure when it is a tutorial and when it is a reference.

Martin Beckett
Programming Python is a long book, but it's well divided into areas, so if you don't want to learn GUI Programming and prefer Network programming, you don't have to. Or viceversa.
Adriano Varoli Piazza
+1  A: 

Always been a fan of A Byte of Python - made for both new and experienced programmers.

Patrick Harrington
+4  A: 

I'm not much for fancy book lernin', so I usually stick to the tutorials off the Python website.

Start with the python http://docs.python.org/tutorial/, get as far as you can go without boring yourself, and then just use the library (http://docs.python.org/library/) for reference.

Good luck learning - it's a fantastic language. It's basically pseudocode that's not so pseudo!

Eddie Parker
The problem with this approach sometimes is that one tends to stick to established patterns and techniques while there might be other ways more suited in the new language.
VoidPointer
True, although you'll find with Python the 'Pythonic' approach is held as the one true way for the most part. The tutorial is very comprehensive too, so I suggest you try it out.
Eddie Parker
If you get tired of the tutorial, try doing things your self, then when you have questions you have stackoverflow and google to help.
monkut
+2  A: 

A lot of people recommend Core Python. I haven't ready many other Python books to compare it to, but I think it's well written.

The fellow who hosts the Python 411 podcast says if he were stranded on a desert island with only one Python book, it would be Core Python.

Update: My favorite Python book is now Python Essential Reference. It's pace is more suitable for experienced programmers than that of Core Python. Also, it covers things beyond language syntax that are hard to find in other Python books.

John D. Cook
I don't know, I have this book and first impressions were not good. One of the first examples had some blatant syntax errors which I just happened to be able to recognise. Also I felt it was very chunky (sheer volume), yet quite shallow at the same time.
Wayne Koorts
+1  A: 

I guess what you are looking for is more a syntaxic book that will tell you how to do something you already understand. The best I can recommand for this is a small tutorial on the internet. Something like Advanced python will get you to the point and if you have further question, you just have to read the doc.

+5  A: 

You could take a look at the fresh Expert_Python_Programming or Programming_Python does a very good job.

[Edit]: I am not sure why it doesn't show up the links. :|
[edit2] fixed -you had an extra "!" somehow

hyperboreean
Expert Python Programming is a horrible book that has only received favorable attention due to the publisher spamming virtually every tech blog and tech site with fake blog posts. It's disgusting. Do not but it!
Tristan
@Tristan, why say this, maybe there is a lot of blog talk this book, but I do recommend this. I read it page by page and I like it, maybe it's not for the Other language experienced programmers, I think it's the book for Python programmers
sunqiang
+4  A: 

I like Beazley's Python Essential Reference a lot. I have the 3rd edition, but apparently the 4th edition will be out soon.

oylenshpeegul
+3  A: 

I sometimes like to graze the Python Cookbook over at ActiveState. It stirs my brain up and makes me think of things in ways I normally wouldn't. Recipes by certain contributors (e.g. Raymond Hettinger) are particularly instructive to study.

Peter Rowell
+2  A: 

Coming from Java (and occasional Bash scripting), and learning how to do basic stuff in Python a while back, I had two books available to me at work:

  1. Python in a Nutshell (Bought at my suggestion, because after comparing Python books online I thought this would be just what I needed)
  2. Learning Python (Linking to latest edition, but I think we had the 1st ed)

Unexpectedly, I found myself more frequently using Learning Python, even though it seems much more like it's "aimed at the novice programmer"; something I was not, really. I just noticed I found the basic syntax stuff and examples I needed faster in that book.

Just my 2 cents about these 2 books. :) It may well be that Programming Python or some such is what you need.

Jonik
+1  A: 

People still read books?

I'd recommend going through a tutorial then when you finish or get tired of it, use stackoverflow and google to resolve questions you have about the language as they come up.

Here's the official tutorial:

http://docs.python.org/tutorial/index.html

And official documentation:

http://docs.python.org/

monkut
Definitely +1 on the official Python tutorial. It was written originally by Python's creator himself and will probably give you just what you need and you'll be able to supplement that well with a combination of the official docs (very comprehensive) and Stack Overflow.
Wayne Koorts
A: 

One thing I'd also like to mention here that helped me quite a bit in addition to the other great resources folks have provided here is "Thinking in Python" by Bruce Eckel. It is available at http://www.mindview.net/Books/Python/ThinkingInPython.html

VoidPointer
A: 

How to think like a computer scientist ( http://openbookproject.net//thinkCSpy/ ) and Dive into Python as Steve Losh already mentioned. Two most amazing online references/tutorials ever!

Stattrav
'How to think...' is for people who never programmed before.
Tshepang