Master the Fundamentals of Python

Master the fundamentals of Python with over 200 pages of text, 150 exercises, multiple projects, and detailed solutions. 

Get Master the Fundamentals of Python Now!

Master the Fundamentals of Python

Gain a deep understanding of the Python programming language by learning all the precise details and best practices from expert instructor Ted Petrou.

Comprehensive Text

This course is much more than just exercises. There are over 200 pages of text with precise details and best practices for using Python. Each topic is covered thoroughly so that you too can become an expert.

Exercises and Projects

Reading texts or listening to lectures give the false impression of learning. To demonstrate learning, you must be able to complete tasks on your own. Master the Fundamentals of Python comes with 150+ exercises and detailed solutions along with several longer and more complex projects.

Continuously Updated

Python is an evolving language that adds new features at every release. This course is guaranteed to remain updated to the latest version of Python through at least 2021. New material, exercises, and projects will also be added frequently. You will have lifetime access to all of its contents.

Master the Fundamentals of Python contents



You will be given detailed instructions on how to install python onto your machine and set up an environment to run all the code within the book.

Jupyter Notebooks

We will be using the excellent (though still needing improvement) Jupyter Notebook to run most of the code. It provides an interactive coding environment to quickly execute code, get feedback, and make notes.

Basic Types

Every value in Python is an object and all objects have a type. We begin by learning how to create 'basic' types such as booleans, integers, and floats.


The simplest and most straightforward actions we can perform with these basic types are with operators. Most operators are one or two non-alphanumeric symbols that use two values (arguments) to produce a new value. You will learn about arithmetic, comparison, and boolean operators.

Variable Names

In order to reuse the result of an operation, we need to save the result. In python, we use assignment statements to assign this result to a name. We refer to these names as variables or variable names.


Strings are a more complex type of object and consist of a sequence of characters. Strings are the first types of objects where we use methods to harness their power. We also learn about how to select subsets of strings using slice notation.


Lists are sequences that may contain any number of other objects of any type. They are an important data structure used frequently in most python programs and are mutable (able to be changed).

Ranges and Constructors

Ranges are the first types of objects covered that cannot be constructed as a literal. You will learn how to create a range with its constructor and then learn how to create all of the previous types covered their own constructor.

Control Flow

Normal flow of python programs occurs by executing the very next line of code under the current line beginning at the top. We can change this normal flow with if/else statements and for/while loops. You will learn from practical examples, such as simulating a game of Craps.


Functions allow us to reuse an entire block of code by labeling it with a name. They help avoid repeating the same code over and over. You will learn how to use several built-in functions as well as how to create user-defined functions.  

Tuples, Sets, and Dictionaries

Python has several flexible built-in data structures that give us tremendous power to complete many tasks without the need to build them ourselves. Tuples, sets, and dictionaries are all different containers of data that we will explore.


Up until this part of the course, all of our Python commands have come from parts of the language that are built-in and immediately available to the interpreter. The standard library, which comes shipped with every Python installation, has many modules that contain more objects to enhance our programs. You will learn how to access these other objects with import statements. You will also learn how to develop your own modules. (upcoming)


Reading and writing data to an external file is a less-frequent but still important command. You will learn how to read and write files with the built-in `open` function. (upcoming)


Exceptions are raised during a program whenever execution of the program is unable to continue. You will learn about the built-in exceptions, what they usually refer to, and how to raise exceptions in your own programs. (upcoming)


Although you can write complex programs by only using the built-in types, you can write much more effective programs by using classes to create your own types. You will learn how to make use of special methods to make your objects integrate with the built-in python operators and functions. (upcoming)

This is incredible!

I can't wait to start mastering Python with exercises and projects!

About the Instructor

This course is taught by Ted Petrou, an expert at Python, data exploration and machine learning. Ted is the author of the highly rated text Pandas Cookbook. Ted has taught hundreds of students Python and data science during in-person classroom settings. He sees first hand exactly where students struggle and continually upgrades his material to minimize these struggles by providing simple and direct paths forward.

Ted is one of the foremost authorities on using the pandas library to do data analysis. His blog posts have totaled well over 1 million views. He is also a prolific contributor on Stack Overflow having answered over 400 questions.

Ted holds a master's degree in statistics from Rice University and is the author of Master the Fundamentals of Python and Master Machine Learning with Python.

Download the table of contents

Download a copy of the table of contents of Master the Fundamentals of Python to see every chapter and section title.

Video Lessons

Video lessons for each chapter of the book will be produced and you will have access to them immediately once they are ready. No video lessons have been created currently.

What your purchase includes

You are purchasing a digital download along with access to all videos currently produced. Currently, no videos have been produced. The digital download includes the following:

  • 15+ Jupyter Notebooks containing all the written material, code, exercises, and solutions
  • 150+ exercises with solutions
  • 200+ page PDF of all the written material
  • 40+ page PDF of all the solutions


Master the Fundamentals of Python does not assume any prior programming experience. The only thing you need to get started is a modern computer that runs a Windows, macOS, or Linux operating system.

Ready to begin your Python journey?


50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.