Complete 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
- 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.
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.