Python Learning Path

100 Python Topics

From your very first line of code to advanced concepts — every topic explained clearly with real examples.

Your Progress
0
of 100 topics done
Overall0% complete
01

What is Python?

The story of Python and why it's the best first language to learn today.

Basics
02

Installing Python

How to install Python on any OS and verify it works in minutes.

Basics
03

Your First Python Program

Write and run your very first line of Python code.

Basics
04

Python Syntax Basics

Indentation, colons, and the rules that make Python readable.

Basics
05

Variables

Storing data using variables. Naming rules and assignment.

Basics
06

Data Types Overview

Numbers, text, booleans — the kinds of data Python understands.

Basics
07

Numbers: int and float

Working with whole numbers and decimals. Python arithmetic.

Basics
08

Strings

Working with text — creating, combining, and understanding strings.

Basics
09

String Methods

Built-in tools to manipulate, search, and transform strings.

Basics
10

String Formatting

f-strings and .format() — inserting variables cleanly into text.

Basics
11

Booleans

True and False — the foundation of all logic in programming.

Basics
12

Getting User Input

Ask for input with input() and use what the user types.

Basics
13

print() in Depth

Everything print() can do — separators, end characters, multiple values.

Basics
14

Comments

How and why to write comments. Making code readable for your future self.

Basics
15

Comparison Operators

==, !=, <, > — comparing values and getting True or False.

Basics
16

Logical Operators

and, or, not — combining conditions to make smarter decisions.

Basics
17

if Statements

Making your program make decisions. The most fundamental control flow tool.

Basics
18

elif and else

Handling multiple conditions with elif chains and the else fallback.

Basics
19

Nested if Statements

Putting if statements inside other if statements — and when to use it.

Basics
20

for Loops

Repeating actions over every item in a collection.

Basics
21

while Loops

Repeating actions as long as a condition is true.

Basics
22

break and continue

Controlling loop flow — exiting early or skipping iterations.

Basics
23

range()

Generating sequences of numbers for loops.

Basics
24

Lists

Python's most versatile structure — ordered collections of items.

Basics
25

List Operations

Adding, removing, sorting, and counting items in lists.

Basics
26

List Indexing & Slicing

Accessing individual items and ranges using index notation.

Basics
27

Tuples

Immutable ordered collections — when to use tuples instead of lists.

Basics
28

Dictionaries

Key-value storage — Python's most powerful built-in data structure.

Basics
29

Dictionary Methods

keys(), values(), items(), get() — essential dictionary operations.

Basics
30

Sets

Unordered collections of unique values — removing duplicates.

Basics
31

Defining Functions

Packaging reusable code with def. The cornerstone of clean programming.

Basics
32

Function Parameters

Positional, keyword, and default parameters explained.

Basics
33

Return Values

Getting results back from functions using return.

Basics
34

Variable Scope

Local vs global variables — where variables live and who can access them.

Basics
35

Built-in Functions

len(), type(), int(), str(), max(), min() and more.

Basics
36

List Comprehensions

Elegant one-line list creation. Python's most loved shorthand.

Intermediate
37

Dictionary Comprehensions

Creating dictionaries from data in a single readable line.

Intermediate
38

Lambda Functions

Anonymous one-line functions — when to use them and when not to.

Intermediate
39

Map and Filter

Applying a function to every item, or keeping only items that pass a test.

Intermediate
40

*args and **kwargs

Writing functions that accept any number of arguments.

Intermediate
41

Modules and import

Splitting code across files and importing Python's standard library.

Intermediate
42

The os Module

Files, folders, paths, environment variables — interacting with your OS.

Intermediate
43

The math Module

Powers, roots, logarithms — Python's built-in math toolkit.

Intermediate
44

The random Module

Generating random numbers, shuffling lists, picking random items.

Intermediate
45

The datetime Module

Working with dates and times in Python — the right way.

Intermediate
46

Reading Files

Opening and reading text files — line by line or all at once.

Intermediate
47

Writing Files

Creating and writing to files. Appending vs overwriting.

Intermediate
48

Working with CSV

Reading and writing CSV data with Python's csv module.

Intermediate
49

Working with JSON

The universal data format for APIs. Parsing and creating JSON.

Intermediate
50

Exception Handling

try, except, finally — handling errors gracefully without crashing.

Intermediate
51

Raising Exceptions

Intentionally raising errors to enforce rules in your code.

Intermediate
52

Custom Exceptions

Creating your own exception classes for cleaner error handling.

Intermediate
53

Classes and Objects

Introduction to Object-Oriented Programming — blueprints and instances.

Intermediate
54

__init__ and self

The constructor method — initializing objects with starting values.

Intermediate
55

Instance Methods

Functions that belong to a class and operate on instance data.

Intermediate
56

Class vs Instance Variables

Data shared by all instances vs data unique to each object.

Intermediate
57

Inheritance

Building new classes from existing ones — reusing and extending behaviour.

Intermediate
58

Method Overriding

Replacing inherited methods with your own implementation.

Intermediate
59

super()

Calling the parent class from a child — how and when to use super().

Intermediate
60

Dunder Methods

__str__, __len__, __add__ — making your objects behave like built-ins.

Intermediate
61

Iterators

How Python's for loop actually works under the hood.

Intermediate
62

Generators

Functions that yield values one at a time — memory-efficient sequences.

Intermediate
63

Decorators

Wrapping functions to add behaviour without modifying them.

Intermediate
64

Context Managers

The with statement and how it manages resources automatically.

Intermediate
65

Regular Expressions

Powerful pattern matching with the re module.

Intermediate
66

pip and Packages

Installing third-party libraries. The Python Package Index explained.

Intermediate
67

Virtual Environments

Isolating project dependencies with venv — the right way.

Intermediate
68

Type Hints

Adding type annotations for clarity, editor support, and fewer bugs.

Intermediate
69

Comprehension Tricks

Nested, conditional comprehensions and when to stop using them.

Intermediate
70

Sorting and Key Functions

Sorting complex objects with sorted() and the key parameter.

Intermediate
71

Closures

Functions that remember their enclosing scope.

Advanced
72

Functools Module

partial, reduce, lru_cache — the functional programming toolkit.

Advanced
73

Dataclasses

Clean class definitions with @dataclass — less boilerplate.

Advanced
74

Abstract Classes

Defining interfaces with ABC — enforcing method implementation.

Advanced
75

Multiple Inheritance

Inheriting from multiple parent classes and Python's MRO.

Advanced
76

Property Decorators

@property, @setter — controlling attribute access the Pythonic way.

Advanced
77

__slots__

Optimizing memory in classes with __slots__.

Advanced
78

Metaclasses

Classes that create classes — Python's object model deep dive.

Advanced
79

Async and Await

Asynchronous code with asyncio — handling many tasks concurrently.

Advanced
80

asyncio Basics

The event loop, coroutines, and tasks — concurrent Python programs.

Advanced
81

Threading

Running multiple threads simultaneously. When to use threads.

Advanced
82

Multiprocessing

True parallelism — bypassing the GIL with the multiprocessing module.

Advanced
83

Introduction to NumPy

The foundation of scientific Python — fast arrays and why NumPy matters.

Advanced
84

NumPy Arrays

Creating, indexing, slicing, and operating on NumPy arrays.

Advanced
85

Introduction to Pandas

DataFrames, Series, and reading data — the essential data library.

Advanced
86

Pandas Operations

Filtering, grouping, merging, and reshaping data.

Advanced
87

Data Visualization Basics

Creating charts with matplotlib — the universal Python plotting library.

Advanced
88

Requests Library

Making HTTP requests — calling APIs, fetching web pages.

Advanced
89

Working with APIs

Sending requests, reading JSON responses, building API programs.

Advanced
90

Web Scraping Basics

Extracting data from websites using requests and BeautifulSoup.

Advanced
91

Introduction to Flask

Your first Python web application — routes, templates, responses.

Advanced
92

SQLite with Python

Storing and querying structured data with Python's built-in SQLite.

Advanced
93

Writing Unit Tests

Testing your code automatically with unittest.

Advanced
94

Pytest Framework

The modern way to test Python — simpler syntax, powerful features.

Advanced
95

Logging

Professional output with the logging module — better than print().

Advanced
96

Argparse

Building command-line tools that accept arguments.

Advanced
97

Python Performance Tips

Profiling, optimizing, and writing faster Python code.

Advanced
98

Packaging a Project

Structuring, packaging, and sharing your Python project.

Advanced
99

Python for AI: Introduction

How Python connects to AI and machine learning — the bridge lesson.

Advanced
100

What Comes After Python

Your roadmap forward — AI tools, ML, web development, what to learn next.

Advanced