David Fugate

Second edition author Naomi Ceder is Director of Technology at the Canterbury School in Fort Wayne, Indiana, where she teaches and uses Python. The first edition of this book was written by Daryl Harms and Kenneth McDonald.

books & projects by David Fugate

Explore Python Fundamentals, Part 2

5 weeks · 1-3 hours per week average · INTERMEDIATE

In this series of liveProjects, you'll hone your Python skills with core techniques, functions, and data structures in Python. Practicing these skills against hands-on challenges will improve your ability to understand Python code, and flexibly use the language.

Explore Python Fundamentals, Part 1

5 weeks · 1-3 hours per week average · INTERMEDIATE

In this series of liveProjects, you'll work out your Python skills and form sound mental models of fundamental aspects of Python. Cracking these simple challenges will improve your ability to effectively reason about Python code, and speed up your mastery of the language.

Exceptions

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll explore the unique way that exceptions work in Python. Python makes frequent use of exceptions, but they often function in a very different way than other programming languages. You’ll experiment with the basic try-and-except structure used for handling exceptions, then dive into using inheritance with exceptions, and creating your own hierarchy of exceptions.

Import

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll refactor a legacy module with unpredictable functionality to make it fit for your needs. The module behaves strangely whenever you import it, and so your task is to find the problem by exploring the ways that import in Python works. Your new knowledge will allow you to fix the issues in the test module, and create safer modules and multi-module packages.

Dictionaries

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll utilize Python dictionaries to efficiently combine a file of product info and a file of sales entries. You’ll take on the role of a data engineer in a company that has been modernizing its sales systems, and tackle a common data merging task to help generate useful reports. Solve the challenges of this project, and you’ll understand the real power and flexibility of dictionaries and how they are used literally everywhere in Python.

Lists

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll utilize Python to create new data reports from a centralized system. You’ll work with raw data about the sales of various products, and massage it into a different format from which subreports can be extracted. To do this, you’ll make use of lists—one of the most common data structures in Python that are at the heart of data processing.

Functions as Objects

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll create Python functions for specific data cleaning operations to help import product data from a legacy system into a new pipeline. You’ll work with a delimited text file with unhandy export conventions, and utilize functions to clean and convert fields for cleaner and seamless data transfer. You’ll even break your new operations down into separate functions so that you can easily reuse your code at a later date.

Iteration

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll experiment with how iteration works in Python. You’re building a data analysis program that needs to iterate over a given number of Fibonacci numbers. To help out, you’ll construct an object that can be iterated over in a for loop or list comprehension that provides the Fibonacci series.

Inheritance

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll explore how inheritance works in Python through developing classes that might be used in a simple video game. Your game follows animal characters moving through an obstacle course, with different movement styles for wolves, bears, eagles, ducks, frogs, and trout. In order to avoid having to repeat your code between characters, you’ll create some base classes and inherit from them. You’ll see how to inherit from more than one class at a time, and discover use cases for multiple inheritance.

Class Methods and Variables

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll write a Python class to manage network connections to your server. You want your class to track the port number and the connections, but instance data is, by definition, not associated with your class. Your challenge is to explore and determine the best ways to associate data with a class and learn how to use a class method.

Objects and Methods

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll take on the task of extending a pricing application. You’ve just hit your first speed bump of needing to add functionality to the class that manages prices. However, that class is used elsewhere and you can’t get permission to change it. Your challenge is to implement a “monkey patch”—adding methods to the class at runtime—by experimenting with Python-bound methods.

Variables

1 week · 1-3 hours per week · INTERMEDIATE

In this liveProject, you’ll help out a new Python developer with some mysterious bugs in their code. To unravel their issues, you’ll explore two different models for the behavior of Python variables and write some code that will either support or refute those models. This will help you reason about how variables behave in Python in regards to both mutable and immutable objects.

The Quick Python Book, Third Edition

  • May 2018
  • ISBN 9781617294037
  • 472 pages
  • printed in black & white
  • available in Complex Chinese, Italian, Polish, Russian, Simplified Chinese

The Quick Python Book, Third Edition is a comprehensive guide to the Python language by a Python authority, Naomi Ceder. With the personal touch of a skilled teacher, she beautifully balances details of the language with the insights and advice you need to handle any task. Extensive, relevant examples and learn-by-doing exercises help you master each important concept the first time through. Whether you're scraping websites or playing around with nested tuples, you'll appreciate this book's clarity, focus, and attention to detail.

The Quick Python Book, Second Edition

  • December 2009
  • ISBN 9781935182207
  • 360 pages
  • printed in black & white

This revision of Manning's popular The Quick Python Book offers a clear, crisp introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this updated edition covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create, test, and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including GUI programming, testing, database access, and web frameworks.