Preface

 

When I was first asked to write Hello! Python, I didn’t want to write just another introductory book—I wanted to write something different. The programming books that I’ve read in the past have often been just a laundry list of features: a list can have things in it, and you can call len(mylist) to find out exactly how many things, .pop() to chop an element from the end, .append() to add ... There you go, that’s all you need to know about lists, now on to the next feature. If you’re shown a program, it’s usually either a trivial few lines or a couple of chapters tacked on to the end of the book as an afterthought.

Then I thought back to how I first learned to program. I didn’t read an entire programming book from cover to cover and then write a program after I knew everything there was to know. Instead I started with a goal, something that I wanted to do, and worked toward it, figuring things out as I went. I read programming books from time to time, but really only to figure out the bits I was stuck on. When I was done, my programs weren’t particularly elegant or fast, but they were mine—I knew how they worked, and they solved a real problem that I was having.