Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Part1 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10
At a glance
Powered by AI
The book provides an introduction to Python programming through hands-on projects. It covers basic programming concepts and helps the reader learn Python quickly to start writing real programs.

Python Crash Course is a project-based introduction to Python programming. It teaches the Python language through hands-on exercises and projects in areas like games, data visualization, and web applications.

The book covers basic programming concepts like variables, lists, dictionaries, conditionals, functions, classes and exceptions. It also covers more advanced topics like files, testing code and debugging.

LEARN PYTHON—

FAST!
PY THON
CR ASH COURSE

PY THON CR A SH COURSE
Python Crash Course is a fast-paced, thorough intro- • Make 2D games that respond to keypresses and A H A N D S - O N , P R O J E C T - B A S E D
duction to programming with Python that will have you mouse clicks, and that grow more difficult as the
I N T R O D U C T I O N T O P R O G R A M M I N G
writing programs, solving problems, and making things game progresses
that work in no time.
• Work with data to generate interactive visualizations
In the first half of the book, you’ll learn about basic
• Create and customize simple web apps and deploy ERIC MAT THES
programming concepts, such as lists, dictionaries,
them safely online
classes, and loops, and practice writing clean and
readable code with exercises for each topic. You’ll • Deal with mistakes and errors so you can solve your
also learn how to make your programs interactive own programming problems
and how to test your code safely before adding it to
If you’ve been thinking seriously about digging into
a project. In the second half of the book, you’ll put
programming, Python Crash Course will get you up to
your new knowledge into practice with three substantial
speed and have you writing real programs fast. Why
projects: a Space Invaders–inspired arcade game, data
wait any longer? Start your engines and code!
visualizations with Python’s super-handy libraries, and a
simple web app you can deploy online. ABOUT THE AUTHOR

As you work through Python Crash Course, you’ll learn Eric Matthes is a high school science and math teacher
how to: living in Alaska, where he teaches an introductory
Python course. He has been writing programs since he
• Use powerful Python libraries and tools, including
was five years old.
matplotlib, NumPy, and Pygal

COVERS PYTHON 2 AND 3

T H E F I N E ST I N G E E K E N T E RTA I N M E N T ™
w w w.nostarch.com MATTHES

“ I L I E F L AT .” $39.95 ($45.95 CDN)


This book uses RepKover — a durable binding that won’t snap shut
PYTHON
PROGRAMMING LANGUAGES/
SHELVE IN:
Python Crash Course
Python
Crash Course
A Hands-On, Project-Based
Introduction to Programming

b y E r ic M a t t h e s

San Francisco
Python Crash Course. Copyright © 2016 by Eric Matthes.

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.

First printing

19 18 17 16 15   1 2 3 4 5 6 7 8 9

ISBN-10: 1-59327-603-6
ISBN-13: 978-1-59327-603-4

Publisher: William Pollock


Production Editor: Riley Hoffman
Cover Illustration: Josh Ellingson
Interior Design: Octopod Studios
Developmental Editors: William Pollock, Liz Chadwick, and Leslie Shen
Technical Reviewer: Kenneth Love
Copyeditor: Anne Marie Walker
Compositor: Riley Hoffman
Proofreader: James Fraleigh

For information on distribution, translations, or bulk sales, please contact No Starch Press, Inc. directly:

No Starch Press, Inc.


245 8th Street, San Francisco, CA 94103
phone: 415.863.9900; info@nostarch.com
www.nostarch.com

Library of Congress Cataloging-in-Publication Data

Matthes, Eric, 1972-


Python crash course : a hands-on, project-based introduction to programming / by Eric Matthes.
pages cm
Includes index.
Summary: "A project-based introduction to programming in Python, with exercises. Covers general
programming concepts, Python fundamentals, and problem solving. Includes three projects - how to
create a simple video game, use data visualization techniques to make graphs and charts, and build
an interactive web application"-- Provided by publisher.
ISBN 978-1-59327-603-4 -- ISBN 1-59327-603-6
1. Python (Computer program language) I. Title.
QA76.73.P98M38 2015
005.13'3--dc23
2015018135

No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other
product and company names mentioned herein may be the trademarks of their respective owners. Rather
than use a trademark symbol with every occurrence of a trademarked name, we are using the names only
in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.

The information in this book is distributed on an “As Is” basis, without warranty. While every precaution
has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any
liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or
indirectly by the information contained in it.
About the Author
Eric Matthes is a high school science and math teacher living in Alaska,
where he teaches an introductory Python course. He has been writing
programs since he was five years old. Eric currently focuses on writing soft-
ware that addresses inefficiencies in education and brings the benefits of
open source software to the field of education. In his spare time he enjoys
climbing mountains and spending time with his family.

About the Technical Reviewer


Kenneth Love has been a Python programmer and teacher for many years.
He has given talks and tutorials at conferences, done professional train-
ings, been a Python and Django freelancer, and now teaches for an online
education company. Kenneth is also the co-creator of the django-braces
package, which provides several handy mixins for Django’s class-based
views. You can keep up with him on Twitter at @kennethlove.
For my father, who always made time to
answer my questions about programming,
and for Ever, who is just beginning to ask me
his questions
Brief Contents

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix

Part I: Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1: Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Chapter 2: Variables and Simple Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Chapter 3: Introducing Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Chapter 4: Working with Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Chapter 5: if Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Chapter 6: Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 7: User Input and while Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Chapter 8: Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Chapter 9: Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Chapter 10: Files and Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Chapter 11: Testing Your Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Part II: Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Project 1: Alien Invasion

Chapter 12: A Ship That Fires Bullets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Chapter 13: Aliens! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Chapter 14: Scoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

You might also like