Five-Project Series

Explore Python Fundamentals, Part 1 you own this product

prerequisites
basics of Python variables • basics of a Python “shell” such as Jupyter Notebook • define a function and class
skills learned
understand variables and whether they are containers or labels • add functionality to a pricing application • write a Python class to manage network connections • develop classes for a video game using Python's multiple inheritance to create mix-ins • use Python iteration protocol in creating iterables and an iterator using a generator function
Naomi Ceder
5 weeks · 1-3 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


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.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Variables
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.
Project 2 Objects and Methods
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.
Project 3 Class Methods and Variables
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.
Project 4 Inheritance
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.
Project 5 Iteration
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.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Explore Python Fundamentals, Part 1 project for free

project author

Naomi Ceder
Naomi Ceder is the former chair of the Python Software Foundation. She has been learning, using, and teaching Python since 2001.

Prerequisites

This liveProject is for both new and experienced Python programmers who want to improve their understanding of the language. To begin this liveProject you will need to be familiar with the following:


TOOLS
  • Python “shell” such as Jupyter Notebook
TECHNIQUES
  • Basics of Python variables
  • Creating variables
  • Defining a function
  • Defining a class
  • Using __dict__ and dir() to inspect Python objects
  • Basic exceptions

you will learn

In this liveProject series, you’ll master fundamental Python concepts and techniques that will help you grow as a Python programmer.


  • Mental Models to help decide how to approach and solve a problem
  • Variables as containers
  • Variables as labels
  • Using the id() function
  • the __dict__ attribute to look at an instance’s attributes
  • the dir() function to see all of the attributes an object has
  • the type() function to both get the class of an object and to create a class
  • Defining a __repr__ method to display instance data
  • Experimenting with immutable and mutable class attributes
  • Using the @classmethod decorator to create class methods
  • Python’s system of inheritance
  • The Python iteration protocol
  • Creating an iterable
  • Creating an iterator
  • Using a generator function to create an iterator

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.