Skip to main content

Best Python book for beginners

It's really surprisingly difficult for someone who has been programming for a long time to write about programming at a level appropriate for real beginners. The first time I taught a class full of beginners at Neumont, I tried to take things as slow as possible. Then I spent the next week covering the material from the first day even slower.
So when the UGIC asked me to recommend a book to get for the participants in the Introduction to Python, I looked at all the ones I could find, but they all either assumed too much existing knowledge or covered material that would just confuse a beginner. Often both. But then Michael Bernstein pointed me to Python for Dummies.
If you're looking to teach beginners, or you're a beginner yourself, Python for Dummies is by far the best option. There's a few sections that are strikingly inappropriate for a book at its level (new-style classes!?) but it's still much, much better than any of the other books on the market in this respect. As a bonus, it's also one of the few that covers Python 2.5.

Comments

Paul said…
I haven't read Python for Dummies, but wanted to suggest a favorite which converted me to Python: "How to Think Like a Computer Scientist, Learning Python"

It's free at ibiblio.org, here:

http://www.ibiblio.org/obp/thinkCSpy/

Like ESR, I had rejected Python a couple of times in the past because of what I saw as a radically different syntax (the whole indentation thing mainly) but after I read the foreward of this online book, I was hooked. After finishing the book, I was convinced. Python is a keeper--I gave up Java and Perl and haven't looked back (ymmv, and to each his own, and all that)

What's your take on HTTLACS as compared to Python for Dummies?
Jonathan Ellis said…
HTTLACS may be the best option that is freely available. However, as the title says, it does try to approach the subject with some rigor. Recursion is covered early and in some detail, for instance, and I know from experience that this tends to blow beginners' minds.

It also never really covers anything really Python-specific. This is fine for its purpose, but for practical use you'd want something that (eventually) covers things like list comprehensions, generators, etc.
Anonymous said…
I second your recommendation of "Python for Dummies" as a good intro book. It is right up at the top of my books for Python beginners at Amazon.
CecilSunkure said…
I haven't read that particular book either, but I have started with this book that is free online, and is targeted more towards creating games in Python with the Pygame engine. Here it is: http://inventwithpython.com/chapters/

I recently started up with this book, and am posting up my experiences with it in my own blog here: http://cecilsunkure.blogspot.com/

I actually highly recommend this book, it's tiered in such a way that seems perfect. The example code and projects in the book are also exceptionally useful for working on yourself. Since the example code is documented so extremely well, I am able to gain a pretty good understanding of every aspect of the code presented in the book. A must read for anyone interested into coding games.
Casey said…
You can easily learn Python by reading the official tutorial and then working through the Python Koans.

http://pythonprojectwatch.blogspot.com/2011/06/master-python-and-tdd-through-python.html
Anonymous said…
My personal favourite Python book is

The Quick Python Book

It's great for beginners

Popular posts from this blog

Why schema definition belongs in the database

Earlier, I wrote about how ORM developers shouldn't try to re-invent SQL . It doesn't need to be done, and you're not likely to end up with an actual improvement. SQL may be designed by committee, but it's also been refined from thousands if not millions of man-years of database experience. The same applies to DDL. (Data Definition Langage -- the part of the SQL standard that deals with CREATE and ALTER.) Unfortunately, a number of Python ORMs are trying to replace DDL with a homegrown Python API. This is a Bad Thing. There are at least four reasons why: Standards compliance Completeness Maintainability Beauty Standards compliance SQL DDL is a standard. That means if you want something more sophisticated than Emacs, you can choose any of half a dozen modeling tools like ERwin or ER/Studio to generate and edit your DDL. The Python data definition APIs, by contrast, aren't even compatibile with other Python tools. You can't take a table definition

Python at Mozy.com

At my day job, I write code for a company called Berkeley Data Systems. (They found me through this blog, actually. It's been a good place to work.) Our first product is free online backup at mozy.com . Our second beta release was yesterday; the obvious problems have been fixed, so I feel reasonably good about blogging about it. Our back end, which is the most algorithmically complex part -- as opposed to fighting-Microsoft-APIs complex, as we have to in our desktop client -- is 90% in python with one C extension for speed. We (well, they, since I wasn't at the company at that point) initially chose Python for speed of development, and it's definitely fulfilled that expectation. (It's also lived up to its reputation for readability, in that the Python code has had 3 different developers -- in serial -- with very quick ramp-ups in each case. Python's succinctness and and one-obvious-way-to-do-it philosophy played a big part in this.) If you try it out, pleas

A review of 6 Python IDEs

(March 2006: you may also be interested the updated review I did for PyCon -- http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html .) For September's meeting, the Utah Python User Group hosted an IDE shootout. 5 presenters reviewed 6 IDEs: PyDev 0.9.8.1 Eric3 3.7.1 Boa Constructor 0.4.4 BlackAdder 1.1 Komodo 3.1 Wing IDE 2.0.3 (The windows version was tested for all but Eric3, which was tested on Linux. Eric3 is based on Qt, which basically means you can't run it on Windows unless you've shelled out $$$ for a commerical Qt license, since there is no GPL version of Qt for Windows. Yes, there's Qt Free , but that's not exactly production-ready software.) Perhaps the most notable IDEs not included are SPE and DrPython. Alas, nobody had time to review these, but if you're looking for a free IDE perhaps you should include these in your search, because PyDev was the only one of the 3 free ones that we'd consider using. And if you aren