Python Video Courses

Gain practical, real-world Python skills with our library of Python video courses.


Our tutorials are created, curated, and vetted by a community of expert Pythonistas. At Real Python you'll get the trusted resources you need on your path to Python mastery.

With new content published weekly, you'll always find something new to boost your programming skills.

You can mark individual lessons as completed or in-progress and learn at your own comfortable pace. Bookmark interesting lessons and review them later for optimum long-term retention.

Not sure where to start? Check out our "Welcome to Real Python" onboarding course where you’ll get an overview of the features of the Real Python platform.

— Now Available —

Introduction to Python 3

Formatting Python Strings

Liam Pulsifer

Liam Pulsifer 7 Lessons 32m
basics python

In this course, you'll see two items to add to your Python string formatting toolkit. You'll learn about Python's string format method and the formatted string literal, or f-string. You'll learn about these formatting techniques in detail and add them to your Python string formatting toolkit.

Introduction to Python 3

Regular Expressions and Building Regexes in Python

Christopher Trudeau

Christopher Trudeau 14 Lessons 1h 53m
basics python

In this course, you'll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You'll also explore more advanced regex tools and techniques that are available in Python.

Using the Python defaultdict Type for Handling Missing Keys

Handling Missing Keys With the Python defaultdict Type

In this step-by-step course, you'll learn how the Python defaultdict type works and how to use it for handling missing keys when you're working with dictionaries. You'll also learn how to use a defaultdict to solve problems like grouping or counting the items in a sequence or collection.

SimPy: Simulating Real-World Processes With Python

Simulating Real-World Processes in Python With SimPy

In this step-by-step course, you'll see how you can use the SimPy package to model real-world processes with a high potential for congestion. You'll create an algorithm to approximate a complex system, and then you'll design and run a simulation of that system in Python.

How to Do a Binary Search in Python

Creating a Binary Search in Python

Binary search is a classic algorithm in computer science. In this step-by-step course, you'll learn how to implement this algorithm in Python. You'll learn how to leverage existing libraries as well as craft your own binary search Python implementation.

MicroPython: An Introduction to Programming Hardware in Python

Getting Started With MicroPython

Are you interested in the Internet of Things, home automation, and connected devices? If so, then you're in luck! In this course, you'll learn about MicroPython and the world of electronics hardware. You'll set up your board, write your code, and deploy a MicroPython project to your own device.

Beautiful Soup: Build a Web Scraper With Python

Web Scraping With Beautiful Soup and Python

In this course, you'll walk through the main steps of the web scraping process. You'll learn how to write a script that uses Python's requests library to scrape data from a website. You'll also use Beautiful Soup to extract the specific pieces of information that you're interested in.

Python 3.9: Cool New Features

Cool New Features in Python 3.9

In this course, you'll explore some of the coolest and most useful features in the newly released Python 3.9. You'll learn how Python 3.9 makes it easier to work with time zones, dictionaries, decorators, and several other techniques that will make your code cleaner and more efficient.

Create a Flask Application With Google Login

Using Google Login With Flask

In this course, you'll create a Flask application that lets users sign in using their Google login. You'll learn about OAuth 2 and OpenID Connect and also find out how to implement some code to handle user session management.

Linked Lists in Python: An Introduction

Working With Linked Lists in Python

In this course, you'll learn what linked lists are and when to use them, such as when you want to implement queues, stacks, or graphs. You'll also learn how to use collections.deque to improve the performance of your linked lists and how to implement linked lists in your own projects.

Python Command Line Arguments

Command Line Interfaces in Python

Command line arguments are the key to converting your programs into useful and enticing tools that are ready to be used in the terminal of your operating system. In this course, you'll learn their origins, standards, and basics, and how to implement them in your program.

Exploring HTTPS With Python

Exploring HTTPS and Cryptography in Python

In this course, you'll gain a working knowledge of the various factors that combine to keep communications over the Internet safe. You'll see concrete examples of how to keep information secure and use cryptography to build your own Python HTTPS application.

A Guide to Excel Spreadsheets in Python With openpyxl

Editing Excel Spreadsheets in Python With openpyxl

Joe Tatusko

Joe Tatusko 16 Lessons 1h 13m
intermediate

In this course, you'll learn how to handle spreadsheets in Python using the openpyxl package. You'll learn how to manipulate Excel spreadsheets, extract information from spreadsheets, create simple or more complex spreadsheets, including adding styles, charts, and so on.

Django Redirects Tutorial

Django Redirects

In this course, you'll learn everything you need to know about HTTP redirects in Django. All the way from the low-level details of the HTTP protocol to the high-level way of dealing with them in Django.

People discussing Python

Office Hours Archive

David Amos

David Amos 17 Lessons 17h 1m
community

The Real Python Office Hours is a weekly hangout where members of Real Python get the chance to interact with each other as well as Real Python authors and video course instructors. Join us live on Wednesday mornings!

Invalid Syntax in Python: Common Reasons for SyntaxError

Identify Invalid Python Syntax

Darren Jones

Darren Jones 12 Lessons 25m
basics python

In this video course, you'll see common examples of invalid syntax in Python and learn how to resolve the issue. If you've ever received a SyntaxError when trying to run your Python code, then this is the guide for you!

Working With Files in Python

Practical Recipes for Working With Files in Python

Liam Pulsifer

Liam Pulsifer 13 Lessons 1h 13m
basics python

In this course, you'll learn how you can work with files in Python by using built-in modules to perform practical tasks that involve groups of files, like renaming them, moving them around, archiving them, and getting their metadata.

Null in Python: Understanding Python's NoneType Object

Python's None: Null in Python

In this course, you'll learn about the NoneType object None, which acts as the null in Python. This object represents emptiness, and you can use it to mark default parameters and even show when you have no result. None is a tool for doing everything with nothing!

A Beginner’s Guide to the Python time Module

Mastering Python's Built-in time Module

Liam Pulsifer

Liam Pulsifer 7 Lessons 39m
intermediate

In this course, you'll learn how to use the Python time module to represent dates and times in your application, manage code execution, and measure performance.

13 Project Ideas for Intermediate Python Developers

Grow Your Python Portfolio With 13 Intermediate Project Ideas

In this course, you'll learn how you can get started on 13 Python project ideas that are just right for intermediate Python developers. They'll challenge you enough to help you become a better Pythonista but will still be doable!

Pointers in Python: What's the Point?

Pointers and Objects in Python

In this video course, you'll learn about Python's object model and see why pointers don't really exist in Python. You'll also cover ways to simulate pointers in Python without managing memory.

Unicode & Character Encodings in Python: A Painless Guide

Unicode in Python: Working With Character Encodings

In this course, you'll get a Python-centric introduction to character encodings and Unicode. Handling character encodings and numbering systems can at times seem painful and complicated, but this guide is here to help with easy-to-follow Python examples.

How to Make a Discord Bot in Python

Creating a Discord Bot in Python

In this course, you'll learn how to make a Discord bot in Python and interact with several APIs. You'll learn how to handle events, accept commands, validate and verify input, and all the basics that can help you create useful and exciting automations!

How to Use Generators and Yield in Python

Python Generators 101

In this step-by-step course, you'll learn about generators and yielding in Python. You'll create generator functions and generator expressions using multiple Python yield statements. You'll also learn how to build data pipelines that take advantage of these Pythonic tools.

Understanding the Python Traceback

Getting the Most Out of a Python Traceback

Rich Bibby

Rich Bibby 5 Lessons 21m
basics python

In this step-by-step course, you'll learn how to read and understand the information you can get from a Python stack traceback. You'll walk through several examples and see some of the most common tracebacks in Python.

Using the Python zip() Function for Parallel Iteration

Parallel Iteration With Python's zip() Function

Liam Pulsifer

Liam Pulsifer 6 Lessons 35m
basics python

In this course, you'll learn how to use the Python zip() function to solve common programming problems. You'll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code.

What Is pip? A Guide for New Pythonistas

A Beginner's Guide to Pip

Austin Cepalia

Austin Cepalia 10 Lessons 34m
basics tools

What is pip? In this beginner-friendly course, you'll learn how to use pip, the standard package manager for Python, so that you can install and manage additional packages that are not part of the Python standard library.

Python Pit Stop

Convert a Python String to int

Darren Jones

Darren Jones 5 Lessons 9m
basics python

There are several ways to represent integers in Python. In this quick and practical course, you'll learn how you can store integers using int and str as well as how you can convert a Python string to an int and vice versa.

Understanding the Python Mock Object Library

Improve Your Tests With the Python Mock Object Library

Lee Gaines

Lee Gaines 31 Lessons 1h 29m
intermediate testing

In this course, you'll learn how to use the Python mock object library, unittest.mock, to create and use mock objects to improve your tests. Obstacles like complex logic and unpredictable dependencies make writing valuable tests difficult, but unittest.mock can help you overcome these obstacles.

The Ultimate Guide to Python Print

The Python print() Function: Go Beyond the Basics

In this step-by-step course, you'll learn about the print() function in Python and discover some of its lesser-known features. Avoid common mistakes, take your "hello world" to the next level, and know when to use a better alternative.

Python Application Layouts and Project Structures

Structuring a Python Application

This course is a reference guide to common Python application layouts and project structures for command-line applications, web applications, and more.

How to Stand Out in a Python Coding Interview

Python Coding Interviews: Tips & Best Practices

James Uejio

James Uejio 22 Lessons 2h 21m
best-practices

In this step-by-step course, you'll learn how to take your Python coding interview skills to the next level and use Python's built-in functions and modules to solve problems faster and more easily.

Inheritance and Composition: A Python OOP Guide

Inheritance and Composition: A Python OOP Guide

In this step-by-step course, you'll learn about inheritance and composition in Python. You'll improve your object-oriented programming (OOP) skills by understanding how to use inheritance and composition and how to leverage them in their design.

Arduino With Python: How to Get Started

Arduino With Python: How to Get Started

In this step-by-step course, you'll discover how to use Arduino microcontrollers with Python to develop your own electronic projects. You'll learn how to set up circuits and write applications with the Firmata protocol. You'll control Arduino inputs and outputs and integrate the board with higher-level apps.

Python Pit Stop

Comparing Python Objects the Right Way: "is" vs "=="

In this quick and practical course, you'll learn when to use the Python is, is not, == and != operators. You'll see what these comparison operators do under the hood, dive into some quirks of object identity and interning, and define a custom class.

NumPy arange(): How to Use np.arange()

Using NumPy's np.arange() Effectively

In this step-by-step course, you'll learn how to use the NumPy arange() function, which is one of the routines for array creation based on numerical ranges. np.arange() returns arrays with evenly spaced values

PyGame: A Primer on Game Programming in Python

Make a 2D Side-Scroller Game With PyGame

In this step-by-step course, you'll learn how to use PyGame. This library allows you to create games and rich multimedia programs in Python. You'll learn how to draw items on your screen, implement collision detection, handle user input, and much more!

Defining Main Functions in Python

Defining Main Functions in Python

In this step-by-step course, you'll learn how Python main functions are used and some best practices to organize your code so it can be executed as a script and imported from another module.

How to Implement a Python Stack

How to Implement a Python Stack

Liam Pulsifer

Liam Pulsifer 4 Lessons 20m
basics python

In this course, you'll learn how to implement a Python stack. You'll see how to recognize when a stack is a good choice for data structures, how to decide which implementation is best for a program, and what extra considerations to make about stacks in a threading or multiprocessing environment.

How to Work With a PDF in Python

How to Work With a PDF in Python

In this step-by-step course, you'll learn how to work with a PDF in Python. You'll see how to extract metadata from preexisting PDFs. You'll also learn how to merge, split, watermark, and rotate pages in PDFs using Python and PyPDF2.

Python IDEs and Code Editors: The Complete Guide

Finding the Perfect Python Code Editor

Martin Breuss

Martin Breuss 36 Lessons 2h 28m
basics tools

Find your perfect Python development setup with this review of Python IDEs and code editors. Writing Python using IDLE or the Python REPL is great for simple things, but not ideal for larger programming projects. With this course you'll get an overview of the most common Python coding environments to help you make an informed decision.

Playing and Recording Sound in Python

Playing and Recording Sound in Python

Joe Tatusko

Joe Tatusko 16 Lessons 40m
basics python

In this course, you'll learn about libraries that can be used for playing and recording sound in Python, such as PyAudio and python-sounddevice. You'll also see code snippets for playing and recording sound files and arrays, as well as for converting between different sound file formats.

Introduction to Python 3

Sets in Python

James Uejio

James Uejio 15 Lessons 47m
basics python

In this course, you'll learn how to work with Python's set data type. You'll see how to define set objects in Python and discover the operations that they support. By the end of this course, you'll have a good feel for when a set is an appropriate choice in your own programs.

Python Best Practices Artwork

Python Modules and Packages: An Introduction

Christopher Bailey

Christopher Bailey 12 Lessons 1h 2m
basics python

In this course, you'll explore Python modules and Python packages, two mechanisms that facilitate modular programming. See how to write and import modules so you can optimize the structure of your own programs and make them more maintainable.

Introduction to Python 3

Basic Data Types in Python

Darren Jones

Darren Jones 18 Lessons 1h 27m
basics python

In this course, you'll learn the basic data types that are built into Python, like numbers, strings, and Booleans. You'll also get an overview of Python's built-in functions.

Supercharge Your Classes With Python super()

Supercharge Your Classes With Python super()

In this step-by-step course, you'll learn how to leverage single and multiple inheritance in your object-oriented application to supercharge your classes with Python super().

Python args and kwargs: Demystified

Python args and kwargs: Demystified

In this step-by-step course, you'll learn how to use args and kwargs in Python to add more flexibility to your functions. You'll also take a closer look at the single and double-asterisk unpacking operators, which you can use to unpack any iterable object in Python.

How to Use sorted() and sort() in Python

Sorting Data With Python

Joe Tatusko

Joe Tatusko 9 Lessons 33m
basics python

In this step-by-step course, you’ll learn how to sort in Python. You'll know how to sort various types of data in different data structures, customize the order, and work with two different ways of sorting in Python.

How to Iterate Through a Dictionary in Python

Python Dictionary Iteration: Advanced Tips & Tricks

In this step-by-step course, you'll take a deep dive into how to iterate through a dictionary in Python. Dictionaries are a fundamental data structure, and you'll be able to solve a wide variety of programming problems by iterating through them.

Documenting Python Code Guide

Documenting Python Code: A Complete Guide

Whether you're documenting a small script or a large project, whether you're a beginner or seasoned Pythonista, this guide will cover everything you need to know.

Introduction to Python 3

Variables in Python

Martin Breuss

Martin Breuss 11 Lessons 41m
basics python

Learn how every item of data in a Python program can be described by the abstract term "object," and how to manipulate objects using symbolic names called "variables."

Python, Boto3, and AWS S3: Demystified

Python, Boto3, and AWS S3: Demystified

Joe Tatusko

Joe Tatusko 16 Lessons 1h 9m
devops intermediate

Get started working with Python, Boto3, and AWS S3. Learn how to create objects, upload them to S3, download their contents, and change their attributes directly from your script, all while avoiding common pitfalls.

Python KeyError Exceptions and How to Handle Them

Python KeyError Exceptions and How to Handle Them

Rich Bibby

Rich Bibby 5 Lessons 10m
basics python

In this course, you'll learn how to handle Python KeyError exceptions. They are often caused by a bad key lookup in a dictionary, but there are a few other situations when a KeyError can be raised as well. Knowing how to handle these exceptions is essential to writing good Python code.

An Intro to Threading in Python

Threading in Python

In this intermediate-level course, you'll learn how to use threading in your Python programs. You'll see how to create threads, how to coordinate and synchronize them, and how to handle common problems that arise in threading.

Core Python Tutorials Artwork

Thinking Recursively in Python

In this course, you'll learn how to work with recursion in your Python programs by mastering concepts such as recursive functions and recursive data structures.

Cool New Features in Python 3.8

Cool New Features in Python 3.8

What does Python 3.8 bring to the table? Learn about some of the biggest changes and see you how you can best make use of them.

The Ultimate Guide to Python Type Checking

Python Type Checking

In this course, you'll look at Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently.

Python Matplotlib

Python Plotting With Matplotlib

Austin Cepalia

Austin Cepalia 14 Lessons 1h 14m
basics data-science

In this beginner-friendly course, you'll learn about plotting in Python with matplotlib by looking at the theory and following along with practical examples.

Python's range() Function

The Python range() Function

Austin Cepalia

Austin Cepalia 7 Lessons 22m
basics python

In this step-by-step course, you'll master the Python range() function, learn how its implementation differs in Python 3 vs 2, and see how you can use it to write faster and more Pythonic code.

Get Started With Django Part 1: Build a Portfolio App

Get Started With Django: Build a Portfolio App

In this course, you'll learn the basics of creating powerful web applications with Django, a Python web framework. You'll build a portfolio website to showcase your web development projects, complete with a fully functioning blog.

Core Python Tutorials Artwork

Strings and Character Data in Python

Christopher Bailey

Christopher Bailey 19 Lessons 1h 48m
basics python

In this course, you'll learn how to use Python's rich set of operators, functions, and methods for working with strings. You'll learn how to access and extract portions of strings, and also become familiar with the methods that are available to manipulate and modify string data in Python 3.

Thonny: The Beginner-Friendly Python Editor

Thonny: The Beginner-Friendly Python Editor

Darren Jones

Darren Jones 9 Lessons 34m
basics tools

In this course, you’ll learn all about Thonny, a free Python Integrated Development Environment (IDE) that was especially designed with the beginner Pythonista in mind. It has a built-in debugger and allows you to do step-through expression evaluation.

Python Development Tools Artwork

Python Debugging With pdb

In this hands-on course, you'll learn the basics of using pdb, Python's interactive source code debugger. pdb is a great tool for tracking down hard-to-find bugs, and it allows you to fix faulty code more quickly.

Absolute vs Relative Imports in Python

Absolute vs Relative Imports in Python

If you’ve worked on a Python project that has more than one file, chances are you’ve had to use an import statement before. In this course, you’ll not only cover the pros and cons of absolute and relative imports but also learn about the best practices for writing import statements.

Introduction to Python 3

Lists and Tuples in Python

Christopher Bailey

Christopher Bailey 11 Lessons 1h 1m
basics python

In this course, you'll cover the important characteristics of lists and tuples in Python 3. You'll learn how to define them and how to manipulate them. When you're finished, you'll have a good feel for when and how to use these object types in a Python program.

How to Use Python lambda Functions

How to Use Python Lambda Functions

In this step-by-step course, you'll learn about Python lambda functions. You'll see how they compare with regular functions and how you can use them in accordance with best practices.

Python Histogram Plots

Python Histogram Plotting: NumPy, Matplotlib, Pandas & Seaborn

In this course, you'll be equipped to make production-quality, presentation-ready Python histogram plots with a range of choices and features. It's your one-stop shop for constructing and manipulating histograms with Python's scientific stack.

Python Face Recognition and Face Detection

Traditional Face Detection With Python

In this course on face detection with Python, you'll learn about a historically important algorithm for object detection that can be successfully applied to finding the location of a human face within an image.

Beginner Tips for Learning Python

11 Beginner Tips for Learning Python

Darren Jones

Darren Jones 13 Lessons 37m
basics python

In this course, you'll see several learning strategies and tips that will help you jumpstart your journey towards becoming a rockstar Python programmer!

How to Iterate Through a Dictionary in Python

Dictionaries in Python

Paul Mealus

Paul Mealus 4 Lessons 20m
basics python

In this course on Python dictionaries, you'll cover the basic characteristics of dictionaries and learn how to access and manage dictionary data. Once you've finished this course, you'll have a good sense of when a dictionary is the appropriate data type to use and know how to use it.

Logging in Python

Logging in Python

In this video course, you'll learn why and how to get started with Python's powerful logging module to meet the needs of beginners and enterprise teams alike.

Python Best Practices Artwork

How to Write Pythonic Loops

In this course, you'll see how you can make your loops more Pythonic if you're coming to Python from a C-style language. You'll learn how you can get the most out of using range(), xrange(), and enumerate(). You'll also see how you can avoid having to keep track of loop indexes manually.

Reading and Writing Files in Python (Guide)

Reading and Writing Files in Python

In this course, you'll learn about reading and writing files in Python. You'll cover everything from what a file is made up of to which libraries can help you along that way. You'll also take a look at some basic scenarios of file usage as well as some advanced techniques.

Core Python Tutorials Artwork

Functional Programming in Python

Dan Bader

Dan Bader 32 Lessons 1h 25m
advanced python

In this course, you'll learn how to approach functional programming in Python. You'll cover what functional programming is, how you can use immutable data structures to represent your data, as well as how to use filter(), map(), and reduce().

Generating Random Data With Python

Generating Random Data in Python

In this course, you'll cover several options for generating random data in Python, and then build up to a comparison of each in terms of its level of security, versatility, purpose, and speed.

How to Publish an Open-Source Python Package to PyPI

How to Publish Your Own Python Package to PyPI

Learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Repository with this step-by-step course. Quickly get up to speed on everything from naming your package to configuring it using setup.py.

Python classmethods, staticmethods, and instance methods

OOP Method Types in Python: @classmethod vs @staticmethod vs Instance Methods

Dan Bader

Dan Bader 7 Lessons 14m
intermediate python

What's the difference between @classmethod, @staticmethod, and "plain/regular" instance methods in Python? You'll know the answer after watching this video course.

Git Tips for Python Developers

Introduction to Git and GitHub for Python Developers

What is Git, what is GitHub, and what's the difference? Learn the basics of Git and GitHub from the perspective of a Pythonista in this step-by-step video course.

Continuous Integration with Python: An Introduction

Continuous Integration With Python

In this course, you'll learn the core concepts behind Continuous Integration (CI) and why they are essential for modern software engineering teams. Find out how to how set up Continuous Integration for your Python project to automatically create environments, install dependencies, and run tests.

Interactive Data Visualization in Python With Bokeh

Interactive Data Visualization in Python With Bokeh

This course will get you up and running with Bokeh, using examples and a real-world dataset. You'll learn how to visualize your data, customize and organize your visualizations, and add interactivity.

Introduction to Python 3

Installing Python on Windows, macOS, and Linux

Darren Jones

Darren Jones 8 Lessons 10m
basics python

To get started working with Python, you'll need to have access to the Python interpreter. There are several common ways to accomplish this and in this course, you will learn how to install the latest version of Python on your computer.

Intermediate Python

Writing Cleaner Python Code With PyLint

Dan Bader

Dan Bader 8 Lessons 17m
intermediate python

In this video series you'll see how to install and set up the PyLint code linter tool. You'll learn why you should use code linters like PyLint, Flake8, PyFlakes, or other static analysis tools—and how they can help you write cleaner and more Pythonic code.

Intermediate Python

Python Context Managers and the "with" Statement

Dan Bader

Dan Bader 6 Lessons 12m
intermediate python

In this course you'll learn how context managers and the "with" statement work in Python, including the difference between class-based and function-based context managers.

Make a Location-Based Web App With Django and GeoDjango

Make a Location-Based Web App With Django and GeoDjango

Learn how to use Django and GeoDjango to build a location-based web application from scratch. You’ll be building a simple nearby shops application that lists the shops closest to a user’s location.

Introduction to Python 3

Conditional Statements in Python (if/elif/else)

Paul Mealus

Paul Mealus 6 Lessons 21m
basics python

In this step-by-step course you'll learn how to work with conditional ("if") statements in Python. Master if-statements step-by-step and see how to write complex decision making code in your programs.

Sending Emails With Python

Sending Emails With Python

In this course, you'll learn how to send emails using Python. Find out how to send plain-text and HTML messages, add files as attachments, and send personalized emails to multiple people. Later on you'll build a CSV-powered email sending script from scratch.

Intermediate Python

Immutability in Python

In Python, immutable vs mutable data types and objects types can cause some confusion—and weird bugs. With this course you'll see what the difference between mutable and immutable data types is in Python, and how you can use it to your advantage in your own programs.

Async IO in Python: A Complete Walkthrough

Hands-On Python 3 Concurrency With the asyncio Module

Chyld Medford

Chyld Medford 12 Lessons 1h 3m
advanced python

Learn how to speed up your Python 3 programs using concurrency and the asyncio module in the standard library. See step-by-step how to leverage concurrency and parallelism in your own programs, all the way to building a complete HTTP downloader example app using asyncio and aiohttp.

Python String Formatting

Python String Formatting Tips & Best Practices

Learn the four main approaches to string formatting in Python, as well as their strengths and weaknesses. You'll also get a simple rule of thumb for how to pick the best general purpose string formatting approach in your own programs.

How to Run Your Python Scripts

Running Python Scripts

Darren Jones

Darren Jones 7 Lessons 18m
basics python

This step-by-step course will guide you through a series of ways to run Python scripts, depending on your environment, platform, needs, and skills as a programmer.

Python Development in Visual Studio Code

Python Development in Visual Studio Code (Setup Guide)

Learn how to set up Visual Studio Code for Python development. By following examples, you'll cover everything from installing and configuring VSCode, to running tests and debugging Python apps.

Pandas Tricks

Idiomatic Pandas: Tricks & Features You May Not Know

In this course you'll see how to use some lesser-used but idiomatic Pandas capabilities that lend your code better readability, versatility, and speed.

Working With JSON Data in Python

Working With JSON Data in Python

Learn how to work with Python's built-in "json" module to serialize the data in your programs into JSON format. Then, you'll deserialize some JSON from an online API and convert it into Python objects.

Django Migrations: A Primer

Django Migrations 101

With this course you’ll get comfortable with Django migrations and learn how to create database tables without writing any SQL, how to automatically modify your database after you changed your models, and how to revert changes made to your database.

Python Best Practices Artwork

Documenting Python Projects With Sphinx and Read The Docs

In this video series we'll cover creating Python documentation from scratch using Sphinx, as well as getting your code repository hooked up to Read The Docs, to automatically build and publish your code documentation.

OOP in Python 3

Intro to Object-Oriented Programming (OOP) in Python

In this video series, you'll learn the fundamentals of object-oriented programming (OOP) in Python and how to work with classes, objects, and constructors.

Python Decorators

Python Decorators 101

In this course on Python decorators, you'll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.

Writing Comments in Python (Guide)

Writing Comments in Python

Learn how to write Python comments that are clean, concise, and useful. Quickly get up to speed on what the best practices are, which types of comments it's best to avoid, and how you can practice writing cleaner comments.

Python’s Requests Library (Guide)

Making HTTP Requests With Python

The "requests" library is the de facto standard for making HTTP requests in Python. It abstracts the complexities of making requests behind a beautiful, simple API so that you can focus on interacting with services and consuming data in your application. This course shows you how to work effectively with "requests", from start to finish.

An Introduction to Python Exceptions

Introduction to Python Exceptions

Darren Jones

Darren Jones 3 Lessons 13m
basics python

Learn what exceptions are good for in Python. You'll see how to raise exceptions and how to handle them with "try/except" blocks.

How to Write Beautiful Python Code With PEP 8

Writing Beautiful Pythonic Code With PEP 8

Learn how to write high-quality, readable code by using the Python style guidelines laid out in PEP 8. Following these guidelines helps you make a great impression when sharing your work with potential employers and collaborators. This course outlines the key guidelines laid out in PEP 8. It's aimed at beginner to intermediate programmers.

F-Strings in Python 3.6

Python 3's f-Strings: An Improved String Formatting Syntax

As of Python 3.6, f-strings are a great new way to format strings. Not only are they more readable, more concise, and less prone to error than other ways of formatting, but they are also faster! By the end of this course, you'll know how and why to start using f-strings today.

Python Best Practices Artwork

Idiomatic Python 101

Python Idioms for people coming from other languages and how to improve your idiomatic practices with Python. We will cover things to do with string concatenation, dictionary look ups, dealing with Python scripts and encoding.

13 Project Ideas for Intermediate Python Developers

Pythonic OOP String Conversion: __repr__ vs __str__

Dan Bader

Dan Bader 7 Lessons 13m
intermediate python

In this tutorial series you'll do a deep dive on how Python's to-string conversion using the __repr__ and __str__ "magic methods" works and how you can add implement them in your own classes and objects.

Getting Started With Testing in Python

Test-Driven Development With PyTest

In this hands-on course, you’ll see how to create Python unit tests, execute them, and find the bugs before your users do. You’ll learn about the tools available to write and execute tests, check your application’s performance, and even look for security issues.

Python Data Science Artwork

Introduction to Pandas and Vincent

Get an introduction to pandas and its two main data structures as well as how to visualize your data using vincent once you are done munging it with pandas.

An Introduction to Python Exceptions

Python Exceptions 101

Mahdi Yusuf

Mahdi Yusuf 3 Lessons 12m
basics python

Learn the proper handling of Python exceptions as well as protecting yourself from when things go wrong. You'll also learn about how to clean up, after an exception occurs, as well as defining your own exception types when the need arises.

Python Data Science Artwork

Pandas DataFrames 101

Learn the basics of working with the Data Frame data structure in Pandas. We will touch on how to create new columns from existing data, delete unneeded data, how to import data from a CSV file, and more.

Intermediate Python

Emulating switch/case Statements in Python

Dan Bader

Dan Bader 4 Lessons 10m
intermediate python

Python doesn't have switch/case statements so it's often necessary to write long if/elif/else chains as a workaround. Here's a little trick you can use to emulate switch/case statements in Python using dictionaries and first-class functions.

Advanced Python

Migrating Applications From Python 2 to Python 3

Mahdi Yusuf

Mahdi Yusuf 5 Lessons 16m
advanced python

In this course we discuss the process of converting a Python 2 application to Python 3. We go through the entire process of identifying incompatible differences as well as rectifying them. As well as a few migration strategies one might take to convert a Python 2 application to Python 3.

Intermediate Python

@staticmethod vs @classmethod in Python

In this course we'll discuss the difference between the `@staticmethod` and `@classmethod` decorators as well as their uses in Python. We cover a few examples on when to best use each, and how to deal with each when using subclasses.

Splitting, Concatenating, and Joining Strings in Python

Splitting, Concatenating, and Joining Strings in Python

Jackie Wilson

Jackie Wilson 4 Lessons 18m
basics python

In this course you'll some of the most fundamental string operations: splitting, concatenating, and joining. Not only will you learn how to use these tools, but you’ll walk away with a deeper understanding of how they work under the hood in Python.

Introduction to Python 3

Mastering While Loops

Katy Gibson

Katy Gibson 11 Lessons 26m
basics python

Master indefinite iteration using the Python "while" loop. You’ll be able to construct basic and complex while loops, interrupt loop execution with break and continue, use the else clause with a while loop, and deal with infinite loops.

Intermediate Python

Using List Comprehensions Effectively

Dan Bader

Dan Bader 8 Lessons 13m
intermediate python

This short course breaks down Python list comprehensions for you step by step. See how Python's comprehensions can be transformed from and to equivalent "for"-loops so you'll know exactly what's going on behind the scenes.

Python CSV Parsing

Reading and Writing CSV Files

This short course covers how to read and write data to CSV files using Python's built in "csv" module and the "pandas" library. You'll learn how to handle standard and non-standard data such as CSV files without headers, or files containing delimeters in the data.

Jupyter Notebook: An Introduction

Using Jupyter Notebooks

In this step-by-step course, you learn how to get started with The Jupyter Notebook, an open source web application that you can use to create and share documents that contain live code, equations, visualizations, and text.

Absolute vs Relative Imports in Python

Python Imports 101

Mahdi Yusuf

Mahdi Yusuf 5 Lessons 14m
basics python

Your introduction to Python's imports. We will touch on what actually happens when an import is called various ways of importing modules, touching on implicit relative imports vs explicit relative imports, and finally tips on how to avoid circular dependencies.

Introduction to Python 3

For Loops in Python (Definite Iteration)

Darren Jones

Darren Jones 4 Lessons 16m
basics python

Learn all about how to perform definite iteration with Python "for" loops. You’ll see how other programming languages implement definite iteration, learn about iterables and iterators, and tie it all together to learn about Python’s for loop.

Python Virtual Environments (venv)

Working With Python Virtual Environments

Dan Bader

Dan Bader 6 Lessons 8m
basics tools

This course demonstrates how Python's virtual environments work as a "sandbox" and you get a quick walkthrough on how to set up a new environment (or virtualenv, as they're called for short) and how to install third-party packages into it using the pip command.

Real Python Video Courses

Welcome to Real Python!

Dan Bader

Dan Bader 18 Lessons 46m
basics community

In this series of videos you'll get an overview of the features of the Real Python platform, so you can make the most of your membership. Follow along and get tips on: How to find the most valuable learning resources for your current skill level, how to meet and interact with other students and the RP Team, how to learn effectively, and more.

Got feedback on our courses?