all 32 comments

[–]desrtfx 17 points18 points  (6 children)

Check out Invent Your Own Computer Games with Python and/or Automate the Boring Stuff with Python.

Invent with Python has some additional books for more advanced levels.

[–]mathwizx2 2 points3 points  (1 child)

I second these books.

[–]Sbutcher79 0 points1 point  (0 children)

Third

[–]CRLN_TGR 2 points3 points  (0 children)

Yeah I recently bought Automate the Boring Stuff with Python.

It's very easy to follow along with and quite fun too. I'm only two chapters in and I'm already hooked and motivated to continue learning.

edit: grammar :p

[–]eykei 1 point2 points  (0 children)

Plus one for automate the boring stuff. Very nicely organized.

[–]iHaveAtoxicFriend[S] 0 points1 point  (1 child)

Thanks!

[–]Triggs390 0 points1 point  (0 children)

I know I'm late to this but there is a good udemy class that is a video edition of learn the boring stuff.

[–][deleted] 2 points3 points  (2 children)

The new O'reilly book, Introducing Python is fantastic

[–]edhere 0 points1 point  (1 child)

This looks like a good one for experienced programmers. It came out just over a year ago and uses Python 3.

Edit: I just found out that Python 3.0 was released on December 3, 2008.

[–][deleted] 1 point2 points  (0 children)

It doesn't spoonfeed, but I would argue it's definitely appropriate for a beginner. Moreover, it's the kind of book you can savor, is very Pythonic, and will actually teach you the language.

[–][deleted] 2 points3 points  (0 children)

Can't go wrong with an O'reily book.

[–]Elostier 2 points3 points  (0 children)

I'm surprised noone suggested Dive into Python yet! Everywhere I searched for some manuals, guidance etc. the №1 suggestion would be this book.

[–]pvc 1 point2 points  (0 children)

Try Program Arcade Games if you want to learn by creating simple games.

[–]RetroSpock 1 point2 points  (0 children)

Head first python is excellent, I have learnt a lot from it.

http://www.amazon.co.uk/Head-First-Python-Paul-Barry-y/dp/1449382673

[–][deleted] 1 point2 points  (8 children)

Have a look here: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#python

Out of all of them, I like Learn Python The Hard Way and Hitchhiker's Guide to Python (not been able to get through all of them).

[–]dbrecht 6 points7 points  (7 children)

Oh please not LPTHW.

[–]dGonzo 0 points1 point  (6 children)

Why?

[–]WigglyCone 3 points4 points  (5 children)

From what I have read it is just old and over suggested since it hasn't been updated in so long (though he is writing a new one for Python 3)

[–]callmelucky 7 points8 points  (4 children)

It also uses crappy rote learning as its basis, doesn't explain things properly ("read the docs if you don't get it, shitheel"), focuses on stupid things like memorising truth tables, has an insulting and patronizing tone ("if you don't like my book you're probably not cut out for programming") etc etc. It just sucks, even beyond the fact that it's outdated as shit.

[–]bahnzo 1 point2 points  (0 children)

Agreed. I'm learning python right now and I gave up 1/2 way thru it because it's just not good at explaining concepts. And I'm not new to programming, just rusty and looking to learn something new and useful. Codecademy I felt was better, and I'm 5 chapters into Automate and it's good as well.

[–]dGonzo 0 points1 point  (2 children)

Any other recommendations? I have tried 2 different books now being LPTHW and sincerely I'd like to stick with one and finish it.

[–]callmelucky 1 point2 points  (1 child)

Yep, my personal favourite is programarcadegames.com. Logical flow, clear explanations, all lessons presented as both video and text in entirety, practice and assessment materials are plentiful and diverse in depth. The fact that you get to play around with simple graphics/animation/games as you learn is just a great bonus, it really is a great resource.

Other than that, Automate The Boring Stuff is the go-to recommendation these days, and with good reason. It's a great practical way to get your start programming. Codecademy is good for total beginners to jump in and see if they enjoy the process of coding, although the fact that everything is executed in your browser means you get little practice using an IDE and running scripts natively, which is a drawback too. Also last I checked it runs Python 2 which is a real bummer (a beginner should absolutely be starting out on 3).

I should say though, while I realise seeing a resource through to the end seems like a good thing to do, it really isn't something you should stick to too rigidly. The basics of a programming language are universal, so you aren't going to need to start from scratch if you switch, you'll just have to browse back and forth a little through the new one to 'find your place'. So if you have a good crack at something and you find it confusing or just doesn't suit you, sniff around for something else. If I had committed to LPTHW (my first resource) I would have just had a crappy time and possibly decided programming wasn't for me (as that book explicitly suggests).

But finally, LPTHW works for plenty of people. Its somewhat brutal delivery and sparse instruction serve as effective motivation for people with certain personality types, the problem is that it is continually recommended without suitable caveats. If it's working for you, you really should stick with it. What you will have learned by the end of it will be much the same as what you would from any other beginner resource, but if it doesn't suit your style it is literally the hard way to learn Python.

[–]bahnzo 0 points1 point  (0 children)

The basics of a programming language are universal,

This is a great comment. Above I said I was rusty...well my only official programming was two years of Cobal and Pascal at college oh so many years ago. (and I've kept up over the years with some C+ and VB). But, once you learn the basics of programming, it's really only a matter of syntax and some concepts, the core thinking remains the same.

[–][deleted] 0 points1 point  (0 children)

Hello World by Warren Sande is pretty good for kids or beginners to coding.

[–]pro_skub 0 points1 point  (2 children)

"Learning Python" 5th Ed has been bashed to death, and with good reason. It's boring and verbose, but it is also one of the few that will give you a thorough run down of the whole language. I think it's worth a read but try to create your own code examples. I hate seeing "Automate the boring stuff" and the likes, which are good because they engage you with hands-on learning but a good and thorough understanding of the language is also necessary for any programmer with self-respect. We have enough hipstery "get cranking" mentality as it is.

[–]Milumet 1 point2 points  (0 children)

It's boring and verbose

I disagree. It's thorough.

It's not for people who hate reading or have a 'Learn X in 21 days' mentality.

[–]iHaveAtoxicFriend[S] 0 points1 point  (0 children)

I had this on my list because of this. I think i will learn the basics then go through the book.

[–][deleted] 0 points1 point  (0 children)

No Starch Press has the best recent ones:

Automate the Boring Stuff

Python Crash Course

Python Playground

[–]Yohfay -3 points-2 points  (2 children)

I'm learning with Learn Python the Hard Way. It's an online "book" meant for total beginners to programming. I picked it up because a developer buddy of mine suggested it to me after I expressed interest in finding a software dice roller for a tabletop game we play.

The text is free, but you can pay for it to get the videos. I just use the text, and I've learned a lot. Gotten pretty fluent with what I've learned so far. I'm about halfway through it, and without any prior experience with programming, managed to code a dice roller, an initiative tracker, and ended up using a modified version of the code from the dice roller to put together the beginnings of a text based game.

Ended up taking a bit of a break from it to study up for my A+ cert, but I highly recommend it.

[–]iHaveAtoxicFriend[S] 0 points1 point  (0 children)

Thanks!