Think Python

How to Think Like a Computer Scientist

by Allen Downey

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

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 a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for Python 3.

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. Beginners just getting their feet wet will learn how to start with Python in a browser.

Start with the basics, including language syntax and semantics; Get a clear definition of each programming concept; Learn about 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.

This open book is licensed under a Creative Commons License (CC BY-NC). You can download Think Python ebook for free in PDF format (1.6 MB).

Table of Contents

Preface
 
v
Chapter 1
The way of the program
1
Chapter 2
Variables, expressions and statements
9
Chapter 3
Functions
17
Chapter 4
Case study: interface design
29
Chapter 6
Fruitful functions
51
Chapter 7
Iteration
63
Chapter 8
Strings
71
Chapter 9
Case study: word play
83
Chapter 10
Lists
89
Chapter 11
Dictionaries
103
Chapter 12
Tuples
115
Chapter 13
Case study: data structure selection
125
Chapter 14
Files
137
Chapter 15
Classes and objects
147
Chapter 16
Classes and functions
155
Chapter 17
Classes and methods
161
Chapter 18
Inheritance
171
Chapter 19
The Goodies
183
Appendix A
Debugging
193
Appendix B
Analysis of Algorithms
201

Book Details

Subject
Computer Science
Publisher
O'Reilly Media, Green Tea Press
Published
2015
Pages
244
Edition
2
Language
English
ISBN13
9781491939420
ISBN10
1491939427
ISBN13 Digital
9781491939369
ISBN10 Digital
1491939362
PDF Size
1.6 MB
License
CC BY-NC

Related Books

Programming for Computations - Python
This book presents computer programming as a key method for solving mathematical problems. This second edition of the well-received book has been extensively revised: All code is now written in Python version 3.6 (no longer version 2.7). In addition, the two first chapters of the previous edition have been extended and split up into five new chapte...
Programming for Computations - Python
This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs o...
Invent Your Own Computer Games with Python
Invent Your Own Computer Games with Python teaches you how to program in the Python language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the examples. Games include Guess the Number, Hangman, Tic Tac Toe, and Reversi. This book also has an introduction to making games with 2D graph...
Coffee Break Python Slicing
Puzzle-based learning is an active learning technique. With code puzzles, you will learn faster, smarter, and better. Coffee Break Python Slicing is all about growing your Python expertise - one coffee at a time. The focus lies on the important slicing technique to access consecutive data ranges. Understanding slicing thoroughly is crucial for y...
Computational Thinking Education
This book offers a comprehensive guide, covering every important aspect of computational thinking education. It provides an in-depth discussion of computational thinking, including the notion of perceiving computational thinking practices as ways of mapping models from the abstraction of data and process structures to natural phenomena. Further, it...
Solving PDEs in Python
This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier - Stokes equations, and systems of nonlinear advection - diffusion - reaction equations, it...