Learn Python Programming Fundamentals With These In-Depth Lessons

I’ve decided to create this series of lessons (jump straight to the list of lessons) because learning Python programming is a very important first step toward understanding, and being able to work with AI technologies. Python is the most widely used programming language in AI and is also relatively easy to learn and work with.

Even if you are not interested in AI (why not?) these lessons will help you understand core Python concepts step-by-step with plenty of examples.

If you are interested in AI, by mastering Python, you will not only be able to create AI systems but also learn how the various algorithms work by implementing them yourself. Because Python is a convenient, user-friendly language, you’ll be able to concentrate on your novel tasks at hand, minimizing the time and effort required for dealing with complex programming syntax and intricacies.

What’s Covered

This collection of lessons covers a variety of fundamental topics for your journey to learn Python programming. Python is a widely-used, general-purpose programming language and includes a vast library of functions and capabilities such as user interface creation and machine learning. These lessons concentrate on Python syntax and core fundamental that are common to all its use-cases. They will help you understand and write Python code, and give you a leg up no matter what you intend to use Python for.

Features and Philosophies

  • Each concept is described precisely, succinctly, and with the least required prior knowledge as possible.
  • Necessary prior knowledge is often either briefly introduced within the lesson, linked to in a previous lesson if available, or both.
  • Overarching concepts are introduced early so that you can understand things in a broad context. For example, many different Python data structures have common capabilities because they are all “iterables”. Consequently, learning about iterables early on will help you understand much about those data structures in one swoop, without having to repeat material for each one.
  • At the end of each lesson, there is a summary section for review that touches upon every concept in the main lesson. The summary is designed to be short but complete enough to be the only section needed for review of the material later on.
  • The summary sections also make these lessons better for Python beginners who are otherwise experienced programmers. If you fall into this category, you may want to scroll down to the summary section and read it first. It could be the only section you need to read, or it could be followed by a quick skim of other parts of the lesson you feel you need more clarification on.

Learning Advice

As you are learning Python with these lessons, consider using one or more of these strategies:

  • Read the introduction section at the top of the lesson, followed by the summary section at the end, and then the rest of the lesson. The introduction and summary will prime your mind with an overview of the material and make you better able to absorb the more detailed sections.
  • Type each example manually (don’t copy and paste) into a Python environment and run it. The act of typing it yourself will force you to pay better attention to what’s going on and understand the details. If you don’t already have a Python environment set up, I recommend you try Google Colab. It’s a browser-based Python notebook, requires no local machine setup and is easy to use.
  • As extra practice, change the examples to come up with your own versions that are modified in some meaningful way. Type those in and run them as well. Using this strategy, you effectively crate your own exercises to solidify your understanding.

Python Lessons

Variables and Data Types





Collection Functions

Exception Handling






Context Managers

Additional Syntax