front matter

 

preface

In many ways, learning a programming language is like learning a foreign (human) language. You can take a course, understand the subject, and even do well on the final exam. But when it comes time to actually use the language, you can find yourself flustered, unsure of just what syntax to use, or what’s the most appropriate way to phrase something—let alone be unable to understand native speakers.

That’s where practice comes in. Practicing a foreign language gives you greater fluency and confidence, allowing you to engage in deeper and more interesting conversations. Practicing Python allows you to solve problems more quickly and easily, while simultaneously writing more readable and maintainable code. The improvement happens over time, as you use the language in new and varied situations. It often isn’t obvious that you have improved. And yet, when you look back to how you were using the language just a few months before, the difference is stark.

This book isn’t meant to teach you Python. Rather, it’s meant to give you the practice you need to achieve greater fluency. After going through the exercises in this book—not just skimming through the questions and peeking at the answers—you will write more readable, more idiomatic, and more maintainable Python code.

acknowledgments

about this book

Who should read this book

How this book is organized: a roadmap

About the code

Software/hardware requirements

liveBook discussion forum

about the author

about the cover illustration