Complete Python Course

Welcome to the Python Course!

This course is designed to take you from your first Python concepts to a solid workflow with testing, project organization, and a practical final project.

What will you learn?

  • Programming fundamentals - Variables, types, control flow, and core syntax
  • Development workflow - Python setup, editors, virtual environments, and packages
  • Data structures - Lists, dictionaries, sets, stacks and queues
  • File handling - Reading, writing and data formats
  • Functions and OOP - Reusable code, generators, decorators, and classes
  • Quality and performance - Testing, profiling, concurrency, and best practices
  • Final project - A reusable mini library to close the course with a realistic exercise

Prerequisites

Before you start
  • A computer with Windows, macOS or Linux
  • Willingness to learn
  • No prior programming experience required

Course structure

The main learning path follows this sequence:

  • Introduction -> Fundamentals -> Virtual Environment -> ... -> Projects -> Final Project

The main modules include explanations, runnable code, exercises, and, in most cases, interactive quizzes. At the end you will find a final project that integrates the course and a quick-reference appendix for consultation.

How to use this index

The final items in the list do not play the same role: Final Project is the practical course ending and Cheat Sheet is a reference appendix.

Introduction to Python

Discover what Python is, its applications, and how to set up your development environment.

Python Fundamentals

Variables, data types, operators and basic control structures.

Virtual Environment Setup

Learn the professional workflow: manage versions with pyenv, isolate projects with venv, and manage packages with pip.

Data Structures

Lists, tuples, sets, dictionaries, stacks and queues.

Strings and Dates

Advanced string manipulation, regular expressions and dates.

Files and System Interaction

Reading and writing files, data formats (JSON, CSV) and system handling.

Basic Functions

How to define core functions, pass arguments, and return values clearly.

Advanced Functions

Lambda functions, decorators, generators and functional programming.

Object-Oriented Programming

Classes, objects, inheritance, polymorphism and dataclasses in Python.

Optimization and Complexity

Algorithmic complexity, profiling and optimization techniques.

Parallelism and Concurrency

Threads, processes, asyncio and concurrent programming.

Testing and Code Quality

Unit tests, pytest, and testing best practices.

Project Organization and Distribution

Folder structure, packages, documentation and best practices for professional Python projects.

Final Project: `contact_book` Mini Library

Close the course by building a reusable mini library with dataclasses, validation, JSON persistence, and tests.

Python Cheat Sheet - Quick Reference

Reference appendix for reviewing the main syntax and concepts covered in the Python course.