Python Projects
Download
Introduction
WHO THIS BOOK FOR
This book is not for beginners who want to learn Python. Rather, as a reader of this book, you need
to already have some Python programming under your belt. That means you’ve done some tutorials.
You also understand that whitespace matters in Python and that lists are denoted with hard braces
( [ ] ) while dicts (dictionaries) are denoted with curly braces ( { } ). This book is for those people
who are still beginners, but who have completed a tutorial or two—folks who understand the basics
of Python, but are interested to learn what all they can do with Python.
“Need is the mother of invention” goes the saying, and when you’re learning to program, this is very
true. If you need a piece of software that can perform a specifi c function or task, it’s easy to learn
a language around that need. You have a need, the language will help you, you learn the language,
you solve the problem, you’ve learned a thing, and you’ve put it to use immediately. This is awesome
and fantastic! However, what if you think programming is interesting, but you’re missing the need?
What if you don’t know what to make? That’s where this book comes in.
This book will help you to learn the parts of Python that most people don’t think to tell new
programmers about. Most of the things covered in this book are tools and technologies that one
may only discover when they are faced with working with them. However, for new programmers
who don’t have a specifi c problem to solve, learning these tools can be diffi cult. Most of the time no
one thinks to introduce these topics to programmers because they are used so regularly. We hope to
take you on a journey through the power of Python and all of its splendor.
You will learn how to make a web app, how to talk to a database using Python libraries, and which
system tools can help speed up your workfl ow, if you’re a systems administrator. We will briefl y
touch on topics such as security and best practices. You’ll get an overview of creating graphical
user interfaces (GUIs) using Python libraries. We will cover consuming and producing application
programming interfaces (APIs) and many other topics that are benefi cial to Python programmers.
WHAT YOU WILL LEARN
We hope to take you on a small tour of the basics that are available in the Python ecosystem. We’ll
introduce you to many concepts that are usually discovered only while working on a problem to
solve. While we can’t put everything into the context of problems that you may need to solve in
the future, we hope that we can illustrate the powerful features of the Python language and the
available packages and technology that are available to you, the new Python programmer.
We will start out with a brief “crash course” in Python, in case you’ve forgotten anything. We’ll
go over the basics, and then you can decide if you want to read that chapter in its entirety or not.
Next, we go over Python as a scripting language. You’ll get to get your hands dirty, as it were,
by writing small scripts to access parts of your system, using Python. This should illustrate the very basic power you have with the language. Third, we’ll start talking about data, which is
what programming is all about—manipulating data. You’ll get to dive in and work through some
examples using some of the standard libraries that come out of the box with Python. We’ll even
discuss databases so that you can get a quick intro into those. We want you to see and touch every
part of a system that you may come in contact with.
After the fi rst three chapters, you’ll dive into desktop applications. While these aren’t incredibly
popular in Python, it is a feature of the language, and it could be useful down the line in your tenure
as a Python programmer. Next, we will step out of the desktop and onto the Internet with Python
as a data communicator. You’ll learn all about HTTP and the Web and how websites work under
the hood. You’ll even be able to play with producing and consuming APIs. APIs confuse many new
programmers; we hope to have removed much of the mystery with this chapter.
In the fi nal chapters, we’ll show more advanced topics in Python, such as how to work with Python
in bigger projects, debugging your code, creating testing-harnesses, handling errors, and even creating
your own exceptions and exception handlers! Finally, there are appendices for reference while you are
going through the book and after, when you’re spreading your Python wings and programming.
It is a lot of information, and it’s like a huge sandbox of tools and ideas to get you started on your
journey with the language. We hope that you try things out and research more on your own time
with certain concepts and ideas that interest you. We’ve included plenty of hands‐on exercises to
help you try out the concepts as they are presented, as well as some challenge questions in most
chapters to help you exercise your newfound knowledge.
WHAT YOU NEED TO USE THIS BOOK
In order to get the most out of this book, we recommend you have a modern computer running
Python 3.3 or later, a good text editor that you are comfortable using, an Internet connection
(for some parts of the book), and a healthy dose of patience and wonderment. We also
recommend that you utilize Internet searching for any problems that may arise. Professional
programmers don’t actually know it all; they usually only know those problems that they deal
with day in and day out. A lot of the time of a professional programmer is spent researching and
tracking down why a behavior is occurring. No one should ever feel bad for relying on a Google
search to solve a problem. Sometimes, your Googling abilities are just as important as your
programming ones
Home Web Development Python Projects