Beginner friendly Free

Python Tutorial

Learn Python from your first program to object-oriented design, modules, file handling, generators, the standard library, data structures and algorithms.

  • 90lessons
  • 16modules
  • ~29hstudy time
  • Beginnerstart level

What you will learn

  • Python Tutorial
  • Python Fundamentals
  • Python Strings & I/O
  • Python Control Flow
  • Python Collections
  • Python Functions
  • Python OOP
  • Python Modules & Packages
  • Python File Handling
  • Python Exceptions & Debugging
  • Python Iterators, Generators & Functional
  • Python Advanced
  • Python Standard Library
  • Python Data Structures
  • Python Algorithms
  • Python Reference

Course curriculum

16 modules · 90 lessons · follow them in order or jump to any topic

1 Python Tutorial 5 lessons
  1. 1Python Introduction
  2. 2Python Get Started
  3. 3Python Syntax
  4. 4Python Output
  5. 5Python Comments
2 Python Fundamentals 7 lessons
  1. 6Python Variables
  2. 7Python Data Types
  3. 8Python Numbers
  4. 9Python Type Casting
  5. 10Python Operators
  6. 11Python Booleans
  7. 12Python Strings
3 Python Strings & I/O 5 lessons
  1. 13Python String Methods
  2. 14Python String Formatting
  3. 15Python String Slicing
  4. 16Python Escape Characters
  5. 17Python User Input
4 Python Control Flow 6 lessons
  1. 18Python If Else
  2. 19Python match-case Statement
  3. 20Python While Loop
  4. 21Python For Loop
  5. 22Python Break Continue Pass
  6. 23Python Ternary Operator
5 Python Collections 7 lessons
  1. 24Python Lists
  2. 25Python List Methods
  3. 26Python Tuples
  4. 27Python Sets
  5. 28Python Dictionaries
  6. 29Python Dictionary Methods
  7. 30Python Comprehensions
6 Python Functions 7 lessons
  1. 31Python Functions
  2. 32Python Function Arguments
  3. 33Python Default Arguments
  4. 34Python *args and **kwargs
  5. 35Python Lambda Functions
  6. 36Python Scope
  7. 37Python Recursion
7 Python OOP 11 lessons
  1. 38Python OOP Introduction
  2. 39Python Classes Objects
  3. 40Python The __init__ Method
  4. 41Python The self Keyword
  5. 42Python Inheritance
  6. 43Python Multiple Inheritance
  7. 44Python Polymorphism
  8. 45Python Encapsulation
  9. 46Python Magic Methods
  10. 47Python Properties
  11. 48Python Dataclasses
8 Python Modules & Packages 4 lessons
  1. 49Python Modules
  2. 50Python Packages
  3. 51Python “if __name__ == ‘__main__'”
  4. 52Python pip and Virtual Environments (venv)
9 Python File Handling 4 lessons
  1. 53Python File Read Write
  2. 54Python Context Managers
  3. 55Python Working with CSV Files
  4. 56Python Working with JSON
10 Python Exceptions & Debugging 4 lessons
  1. 57Python Exceptions
  2. 58Python Try Except Finally
  3. 59Python Custom Exceptions
  4. 60Python Debugging
11 Python Iterators, Generators & Functional 6 lessons
  1. 61Python Iterators
  2. 62Python Generators
  3. 63Python Decorators
  4. 64Python Closures
  5. 65Python map(), filter(), and reduce()
  6. 66Python Itertools
12 Python Advanced 5 lessons
  1. 67Python Type Hints
  2. 68Python Regex
  3. 69Python Multithreading
  4. 70Python Asyncio Basics
  5. 71Python Datetime
13 Python Standard Library 4 lessons
  1. 72Python collections Module
  2. 73Python functools Module
  3. 74Python os and sys Modules
  4. 75Python Unit Testing (unittest/pytest)
14 Python Data Structures 5 lessons
  1. 76Python Linked Lists
  2. 77Python Stacks
  3. 78Python Queues
  4. 79Python Binary Trees
  5. 80Python Hash Tables
15 Python Algorithms 7 lessons
  1. 81Python Linear Search
  2. 82Python Binary Search
  3. 83Python Bubble Sort
  4. 84Python Insertion Sort
  5. 85Python Quicksort
  6. 86Python Merge Sort
  7. 87Python Big-O Notation
16 Python Reference 3 lessons
  1. 88Python Keywords Reference
  2. 89Python Standard Library
  3. 90Python Next Steps

About this course

This tutorial suits complete beginners as well as learners who already know some programming and want a structured reference. If Python is new to you, start from the first lesson and work through each module in order. Experienced learners can use the curriculum above to jump directly to a specific concept.

How to get the most from it

  1. Read each lesson in order and run every example yourself.
  2. Change the examples to test your understanding instead of only copying them.
  3. Complete the exercises and review the common-mistake sections before moving on.
  4. Mark lessons complete as you go — your progress is saved in this browser.

Frequently asked questions

Is this Python tutorial free?

Yes. Every lesson listed on this page is free to read and can be completed at your own pace.

Do I need previous experience?

No previous experience is required for the introductory lessons. Some advanced modules are easier if you first complete the fundamentals in this course.

How should I practise?

Type and run the examples, deliberately change their inputs, predict the result before execution and build a small project after completing each major module.