Python Learning Paths

Take your coding skills to the next level with Real Python’s accelerated study plans for beginner, intermediate, and advanced Python developers.

Real Python Learning Paths

At Real Python, you can learn all things Python from the ground up. Everything from the absolute basics of Python, to web development and web scraping, to data visualization, and beyond.

Whether you’re a beginner, intermediate, or advanced Pythonista, our custom-made learning paths will take your skills to the next level with accelerated, hands-on study plans.

All of the resources in our learning paths were created by professional Python developers with years of experience to ensure that you’re learning the skills and techniques that really matter.

You’ll find your way through an entire Python curriculum, so you’ll always know what to focus on next.

Absolute Basics

If you’re completely new to programming and Python, then start your learning journey with the Python Basics learning path, which is designed to pick you up at the ground floor and carry you to basic proficiency with Python. After finishing this learning path, you’ll be well equipped to tackle any of our beginner learning paths.

Learning Path

Python Basics: Introduction to Python

17 Resources ⋅ Skills: Python 3 Fundamentals, Real-World Projects

Python Core Language: Basics

Get a jump start on your Python career with our learning resources designed for beginners. Here you’ll find fundamental concepts for Python beginners, which will help you get started on your journey to learn Python. These tutorials focus on the absolute essentials that you need to know about Python.

Learning Path

Revisit Python Fundamentals

11 Resources ⋅ Skills: Python, Variables, Data Types, REPL, Operators, Expressions, Exceptions, Comments, Keywords, IDLE, String Conversion

Learning Path

I/O Operations and String Formatting

8 Resources ⋅ Skills: Python, Fundamentals, I/O, String Formatting

Learning Path

Python Control Flow and Loops

11 Resources ⋅ Skills: Python, Control Flow, for Loops, while Loops, break, continue, Context Managers

Learning Path

Python Data Structures

18 Resources ⋅ Skills: Python, Strings, Lists, Tuples, Dictionaries, Sets, List Comprehensions, range()

Learning Path

Functions and Scopes

7 Resources ⋅ Skills: Python, Functions, Scope, Arguments, Parameters, Return, Globals

Python Core Language: Intermediate

Once you’re past the basics, you can start digging into our intermediate-level tutorials, which will teach you new Python concepts. This category is for intermediate Python developers who already know the basics of Python development and want to expand their knowledge.

Learning Path

Perfect Your Python Development Setup

12 Resources ⋅ Skills: VS Code, PyCharm, Venv, Pyenv, Docker, Git, GitHub

Learning Path

Modules and Packages

9 Resources ⋅ Skills: Packages, Modules, Import System, pip, PyPI

Learning Path

Object-Oriented Programming (OOP)

14 Resources ⋅ Skills: Python, OOP, Classes, Data Classes, Getters, Setters, Property, super(), SOLID, Inheritance, Composition, Factory Pattern

Learning Path

Files and File Streams

10 Resources ⋅ Skills: Python, Pathlib, File I/O, Serialization, Encoding, Unicode, PDF, WAV

Learning Path

Exceptions, Logging, and Debugging

6 Resources ⋅ Skills: Python, Exceptions, Logging, Debugging, pdb

Learning Path

Classic Data Structures and Algorithms

18 Resources ⋅ Skills: Python, Data Structures, Stacks, Queues, Linked Lists, Hash Tables, Enums, Search Algorithms

Learning Path

Important Standard Library Modules

15 Resources ⋅ Skills: Python, Stdlib, math, datetime, JSON, CSV, Regex, collections, subprocess, argparse

Learning Path

Functional Programming With Python

13 Resources ⋅ Skills: Python, Functional Programming, Lambda Functions, Built-in Functions, Map, Filter, Reduce, Scope, Decorators, Recursion, Code Efficiency, Readability

Learning Path

Generators and Generator Expressions

4 Resources ⋅ Skills: Python, Iterators, Iterables, Itertools, Asynchronous Iterations, Generators, Yield

Learning Path

Write More Pythonic Code

15 Resources ⋅ Skills: Zen of Python, PEP 8 Standards, Application Layouts, Duck Typing, Type Checking, Type Hints, Code Documentation, MkDocs, Clean Code, Maintainable Code

Learning Path

Testing and Continuous Integration

7 Resources ⋅ Skills: Unit Testing, Doctest, Mock Object Library, Pytest, Continuous Integration, Docker, Code Quality, Test Automation, Software Testing, CI/CD

Python Core Language: Advanced

In this section, you’ll find Python learning resources that teach you advanced concepts so you can be on your way to becoming a master of the Python programming language. Once you’re past the intermediate level, you can start digging into these tutorials and courses, which will teach you advanced Python concepts and patterns.

Learning Path

Concurrency and Async Programming

7 Resources ⋅ Skills: Python, Concurrency, Async IO, Global Interpreter Lock, Thread Safety, Parallel Processing, Performance Optimization, Multithreading, Code Efficiency

Learning Path

Database Access With Python

6 Resources ⋅ Skills: SQL Libraries, SQLite, SQLAlchemy, Redis, MySQL, MongoDB, ChromaDB, Data Management, NoSQL Databases, Vector Databases

Learning Path

Python Metaprogramming

4 Resources ⋅ Skills: Python, Metaclasses, Descriptors, Dynamic Code Execution, exec(), eval(), Code Evaluation, Python Internals

Learning Path

Network Programming and Security

4 Resources ⋅ Skills: CRUD Operations, REST API Integration, HTTPS, Socket Programming, Network Security, Web Services, Networking, Application Security, Data Transmission

Learning Path

Create Graphical User Interfaces (GUI)

12 Resources ⋅ Skills: Tkinter, PyQt, wxPython, Kivy, GUI Layouts, Event Handling, Database Integration, Thread Management, Mobile App Development, GUI Design

Learning Path

Understand CPython

9 Resources ⋅ Skills: Python, Pointers, Memory Management, Profiling, CPython Source Code, C Extensions, Python Bindings, Memory Mapping, Performance Optimization

Learning Path

Ace Your Python Coding Interview

7 Resources ⋅ Skills: Coding Interviews, Practice Problems, CSV Parsing, Data Engineering, Python Books, PyCon Talks, Problem-Solving, Interview Preparation, Coding Challenges

Python Beyond the Core Language

You’re ready to explore what Python can do outside of its core functionality! Leverage Python’s powerful ecosystem for real-world applications like web development, data science, machine learning, and more. Dive into paths about popular frameworks and libraries such as Flask, Django, NumPy, and Pandas. Work through any of these paths side-by-side, or skip those that you’re not interested in.

Learning Path

Become a Python Web Developer

14 Resources ⋅ Skills: Web Development, Django, Flask, APIs

Learning Path

Data Science With Python Core Skills

15 Resources ⋅ Skills: Pandas, NumPy, Data Cleaning, Data Visualization

Learning Path

Math for Data Science

5 Resources ⋅ Skills: Statistics, Correlation, Linear Regression, Logistic Regression

Learning Path

Data Collection & Storage

9 Resources ⋅ Skills: Data Science, Databases

Learning Path

Data Visualization With Python

10 Resources ⋅ Skills: NumPy, Matplotlib, Bokeh, Seaborn, pandas

Learning Path

Flask by Example

8 Resources ⋅ Skills: Web Development, Flask Framework

Learning Path

Python Web Scraping

9 Resources ⋅ Skills: Web Scraping, HTTP Requests, Data Parsing

Learning Path

Django for Web Development

16 Resources ⋅ Skills: Django, Web Development, Projects

Learning Path

GUI Programming With PyQt

8 Resources ⋅ Skills: Graphical User Interfaces (GUIs), Databases

Learning Path

DevOps With Python

7 Resources ⋅ Skills: Packaging & Deployment, AWS, Docker

Learning Path

pandas for Data Science

13 Resources ⋅ Skills: pandas, Data Science, Data Visualization

Learning Path

Machine Learning With Python

26 Resources ⋅ Skills: Image Processing, Text Classification, Speech Recognition

How to Select a Path That’s Right for You?

Learning Python isn’t a one-size-fits-all task, so think about why you’re here. What do you want to do with Python? Think about where you want to go, and then consider what skills you’ll need to get there.

If you jump into a learning path and get stuck, you can always ask for help in the Real Python Community Chat or at Office Hours. Those are also great places to hear from other programmers who have been in your shoes and may have suggestions on where to start.

Got feedback on our learning paths?