Think Python

Front Cover
"O'Reilly Media, Inc.", Aug 9, 2012 - Computers - 300 pages

If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language one step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design.

Through exercises in each chapter, you’ll try out programming concepts as you learn them. Think Python is ideal for students at the high school or college level, as well as self-learners, home-schooled students, and professionals who need to learn programming basics.

  • Start with the basics, including language syntax and semantics
  • Get a clear definition of each programming concept
  • Learn values, variables, statements, functions, and data structures in a logical progression
  • Discover how to work with files and databases
  • Understand objects, methods, and object-oriented programming
  • Use debugging techniques to fix syntax, runtime, and semantic errors
  • Explore interface design, data structures, and GUI-based programs through case studies
 

Contents

Chapter 1 The Way of the Program
1
Chapter 2 Variables Expressions and Statements
13
Chapter 3 Functions
23
Interface Design
37
Chapter 5 Conditionals and Recursion
49
Chapter 6 Fruitful Functions
61
Chapter 7 Iteration
75
Chapter 8 Strings
85
Chapter 14 Files
159
Chapter 15 Classes and Objects
171
Chapter 16 Classes and Functions
181
Chapter 17 Classes and Methods
189
Chapter 18 Inheritance
201
Tkinter
217
Appendix A Debugging
233
Appendix B Analysis of Algorithms
243

Word Play
97
Chapter 10 Lists
105
Chapter 11 Dictionaries
121
Chapter 12 Tuples
135
Data Structure Selection
147
Appendix C Lumpy
255
Index
265
About the Author
278
Copyright

Other editions - View all

Common terms and phrases

About the author (2012)

Allen Downey is an Associate Professor of Computer Science at the Olin College of Engineering. He has taught computer science at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master’s and Bachelor’s degrees from MIT.

Bibliographic information