Are you a...
Then Learn to Program Using Python is the book for you.
You will find this book to be an ideal starting point for learning the essentials of computer programming. Assuming no prior knowledge (other than basic computer operation), this unintimidating and clearly written guide introduces you to programming terminology, fundamental concepts, and techniques for writing actual code.
Python is ideal for novice programmers: it is available for free; it has simple syntax but powerful features; it supports lots of programming styles; it runs on many platforms; it has a friendly and helpful user community. This book uses the Python language to teach you the fundamentals of computer programming. Once you master the basic techniques and concepts you learn in this book, you can apply them to any language you choose to work with.
Learn to Program Using Python is based on a popular on-line tutorial that has been expanded and enhanced for this book. It takes you step-by-step through all the essential programming topics. You will learn about:
In addition, the book introduces elements of programming style and offers a look at the thinking and steps involved in designing a software solution. Several sample applications illustrate techniques and ideas in action.
Click below for Web Resources related to this title:
Author's Web Site
1. Who, What, and How?
2. What Do I Need?
3. What Is Programming?
4. Getting Started.
II. PROGRAMMING FUNDAMENTALS.
5. Simple Sequences.
6. The Raw Materials.
7. More Sequences and Other Things.
8. Looping, or the Art of Repeating Oneself.
9. Decisions, Decisions.
10. Conversing with the User.
11. Modular Programming.
12. Handling Files and Text.
13. A Touch of Style.
14. Handling Errors.
III. Advanced Topics.
17. Object-Oriented Programming.
18. Event-Driven Programming.
19. Regular Expressions.
21. Designing a Solution.
IV. Case Studies.
22. Grammar Counter.
23. Guessing Games.
Appendix A. Installing and Testing Python.
Appendix B. Some Interesting Programming Languages.
Appendix C. Resources.
Why Write This Book?
I started this tutorial in response to a request from two friends, both of whom were proficient computer users but wanted to go a step further and learn to program. As both had Internet access, I decided to save myself some trouble and find an online tutorial that they could use. Much to my amazement, this quest came up emptyit proved very difficult to find a tutorial that addressed the needs of an absolute beginner. Many tutorials taught specific programming languages, but they all assumed prior programming knowledge. This exercise provided sufficient motivation for me to create my own online tutorial for beginners. (You can see the online version at http://www.crosswinds.net/~agauld/. It's also on the CD-ROM as a Zip file.)
I had assumed that 10 to 20 pages would suffice, but the project grew and grew. Soon I had more than 50 pages of printout and was getting increasing numbers of visitors to my Web site, many of whom asked questions or required clarification of points. Responding to their requests, in turn, improved the quality and expanded the volume still further. Several readers suggested that the tutorial would make a useful book, and this text is the result.My Background
I am a professional programmer who came to programming from an electronic engineering background. I've been involved with computers and the information technology industry since the mid-1970s, working on everything from embedded microcontrollers to mainframe billing systems. In that time I have used (and continue to use) several computer languages and operating systems.A Word about Languages
For commercial reasons I have tried to use American English spellings and terminology throughout the book. This choice has led to some interesting discoveries about the differences between how American English and the rest of the English-speaking world do things. For those non-Americans who get irritated at the inexorable pollution of the Queen's English, I proffer my apologies and sympathy, but I hope you buy the book anyway! To U.S. readers, I hope that any remaining Anglicisms are not too offensive or confusing. Please consider them a quaint relic from the past.Acknowledgments
As ever, this book's existence owes a lot to many people. In particular, I'd like to thank Ray and John, who started the ball rolling, as well as all the folks who visited and commented on the original online tutorial. Also meriting a mention are Matthew Curtin and Herb Sutter, both of whom urged me to "go for it," and Jeff, my boss at work, whose support further encouraged me. Next must come Mike Hendrickson and Heather Peterson, my editors at Addison-Wesley, who were never less than enthusiastic about the project. Finally, I'd like to thank Matt, Dave, Brian, Moira, and Perdita, who have been press-ganged into reviewing various drafts or had ideas bounced off them. I'd also like to thank the many technical reviewers whose comments have helped shape the direction of the book. They all spotted many mistakes; any that remain behind are solely mine. Finally, thanks to my wife, Heather, who patiently whiled away the many hours alone as I gazed haplessly at the PC.