[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

Python Courses & Screencasts – Real Python

Real Python

The Wayback Machine - https://web.archive.org/web/20240722022957/https://realpython.com/courses/

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 —

Exercises Course: Introduction to Web Scraping With Python

In this course, you'll practice the main steps of the web scraping process. You'll write a script that uses Python's requests library to scrape and parse data from a website. You'll also interact with HTML forms using tools like Beautiful Soup and Mechanical Soup to extract specific information.

Customize VS Code Settings

In this course, Philipp helps you customize your Visual Studio Code settings to switch from a basic cluttered look to a clean presentable look. This is not just pleasant on the eyes, but also gives you a nice user interface if you want to share on a zoom call or screen recording.

Defining Python Constants for Code Maintainability

In this video course, you'll learn how to properly define constants in Python. By coding a bunch of practical example, you'll also learn how Python constants can improve your code's readability, reusability, and maintainability.

Build a GUI Calculator With PyQt and Python

In this video course, you'll learn how to create graphical user interface (GUI) applications with Python and PyQt. Once you've covered the basics, you'll build a fully functional desktop calculator that can respond to user events with concrete actions.

Rounding Numbers in Python

In this video course, you'll learn about the mistakes you might make when rounding numbers and how to best manage or avoid them. It's a great place to start for the early to intermediate Python developer who's interested in using Python for finance, data science, or scientific computing.

Listing All Files in a Directory With Python

In this video course, you'll be examining a couple of methods to get a list of files and folders in a directory with Python. You'll also use both methods to recursively list directory contents. Finally, you'll examine a situation that pits one method against the other.

Python Interfaces: Object-Oriented Design Principles

In this video course, you'll explore how to use a Python interface. You'll come to understand why interfaces are so useful and learn how to implement formal and informal interfaces in Python. You'll also examine the differences between Python interfaces and those in other programming languages.

Efficient Iterations With Python Iterators and Iterables

In this video course, you'll learn what iterators and iterables are in Python. You'll learn how they differ and when to use them in your code. You'll also learn how to create your own iterators and iterables to make data processing more efficient.

Building a Python GUI Application With Tkinter

In this video course, you'll learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.

HTML and CSS Foundations for Python Developers

There's no way around HTML and CSS when you want to build web apps. Even if you're not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you'll get an introduction to HTML and CSS for Python programmers.

Flattening a List of Lists in Python

In this video course, you'll learn how to flatten a list of lists in Python. You'll use different tools and techniques to accomplish this task. First, you'll use a loop along with the .extend() method of list. Then you'll explore other tools, including reduce(), sum(), itertools.chain(), and more.

Working With Global Variables in Python Functions

In this video course, you'll learn how to use global variables in Python functions using the global keyword or the built-in globals() function. You'll also learn a few strategies to avoid relying on global variables because they can lead to code that's difficult to understand, debug, and maintain.

Python Basics Exercises: Scopes

In this Python Basics Exercises course, you'll practice working with scope in Python. You'll reinforce important coding concepts by working with variables inside and outside of functions and loops. You'll also get to practice the LEGB rule.

Using raise for Effective Exceptions

In this video course, you'll learn how to raise exceptions in Python, which will improve your ability to efficiently handle errors and exceptional situations in your code. This way, you'll write more reliable, robust, and maintainable code.

Generating QR Codes With Python

In this video course, you'll learn how to use Python to generate QR codes, from your standard black-and-white QR codes to beautiful ones with your favorite colors. You'll learn how to format QR codes, rotate them, and even replace the static background with moving images.

Finding Python Easter Eggs

Python has its fair share of hidden surprises, commonly known as Easter eggs. From clever jokes to secret messages, these little mysteries are often meant to be discovered by curious geeks like you!

SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files

In this video course, you'll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.

Python Basics Exercises: Dictionaries

One of the most useful data structures in Python is the dictionary. In this video course, you’ll practice working with Python dictionaries, see how dictionaries differ from lists and tuples, and define and use dictionaries in your own code.

Creating Asynchronous Tasks With Celery and Django

In this video course, you'll learn how to integrate Celery and Django using Redis as a message broker. You'll refactor the synchronous email sending functionality of an existing Django app into an asynchronous task that you'll run with Celery instead.

Python Basics Exercises: Installing Packages With pip

In this Python Basics Exercises video course, you'll practice installing packages with pip. You'll also practice creating virtual environments, making lists of requirements, and recreating a development environment.

Unleashing the Power of the Console With Rich

Rich is a powerful library for creating text-based user interfaces (TUIs) in Python. It enhances code readability by pretty-printing complex data structures and adds visual appeal with colored text, tables, animations, and more.

Create Conway's Game of Life With Python

In this video course, you'll use Python to build Conway's Game of Life. You'll implement a user-friendly command-line interface (CLI) with several options that will allow you to run the game using different life patterns and configurations.

Python Basics Exercises: Lists and Tuples

In this Python Basics Exercises video course, you'll practice defining and manipulating Python lists and tuples in your code. By reinforcing your skills, you'll gain confidence in using lists and tuples in your programming projects.

Building Enumerations With Python's enum

In this video course, you'll discover the art of creating and using enumerations of logically connected constants in Python. To accomplish this, you'll explore the Enum class and other associated tools and types from the enum module from the Python standard library.

Python Basics: Lists and Tuples

In this video course, you'll learn about Python lists and tuples, including how to define and manipulate them in your code. By the end of the course, you'll be ready to effectively use lists and tuples in your programming projects.

Create a Tic-Tac-Toe Python Game Engine With an AI Player

In this video course, you'll create a universal game engine in Python for tic-tac-toe with two computer players, one of which will be an AI player using the powerful minimax algorithm. You'll give your game library a text-based graphical interface and explore two front ends.

Python Basics Exercises: Functions and Loops

In this Python Basics Exercises course, you'll practice creating user-defined functions that you can execute multiple times in your code. Additionally, you'll gain experience in repeating code using for and while loops.

HTTP Requests With Python's urllib.request

In this video course, you'll explore how to make HTTP requests using Python's handy built-in module, urllib.request. You'll try out examples and go over common errors, all while learning more about HTTP requests and Python in general.

Python Basics Exercises: Reading and Writing Files

In this video tutorial, you'll practice transferring data between your Python programs and external software by reading and writing files. Through exercises, you'll master the art of reading and writing information saved in CSV file format, which is extensively used for exchanging tabular data.

How to Get the Current Time in Python

In this video course, you'll be getting the current time in Python. You'll get your hands on a datetime object that represents the current time. You'll see how to format it according to international standards, and you'll even check out how computers represent time.

Advent of Code: Solving Puzzles With Python

Advent of Code is an online advent calendar that shares new programming puzzles each day from December 1 to the 25. In this Code Conversation, you'll learn why solving programming puzzles can be beneficial and how you can get started with Advent of Code using Python.

Python Basics: Modules and Packages

In this Python Basics video course, you'll learn how to build an application by putting related code into separate files called modules. You'll also use the import statement to use modules in another file.

Python Basics Exercises: Numbers and Math

In this Python Basics Exercises course, you'll practice the math that you need for your Python programming journey. This includes integers and floating-point numbers, arithmetic operators, and string formatting for numbers.

Using the bpython Enhanced REPL

In this video course, you'll learn about bpython, an alternative Python REPL that brings code suggestions and many other IDE-like features to the terminal. Once you discover how much bpython can improve your productivity, you'll never want to return to using the vanilla Python REPL again.

Python Basics Exercises: Building Systems With Classes

In this Python Basics Exercises course, you'll review how to work with classes to build complex systems in Python. By practicing composing classes, inheriting from other classes, and overriding class behavior, you'll harness the power of object-oriented programming (OOP).

Using Python's min() and max()

In this video course, you'll learn how to use Python's built-in min() and max() functions to find the smallest and largest values. You'll also learn how to modify their standard behavior by providing a suitable key function. Finally, you'll code a few practical examples of using min() and max().

What's New in Python 3.12

In this video course, you'll explore the new features that Python 3.12 brings to the table. These include improved f-strings, better error messages, changes to CPython internals, additions to static typing, and more.

Python Basics Exercises: Conditional Logic and Control Flow

In this Python Basics Exercises course, you'll review how to use conditional logic to write programs that perform different actions based on different conditions. Paired with functions and loops, conditional logic allows you to write complex programs that can handle many different situations.

Design and Guidance: Object-Oriented Programming in Python

In this video course, you'll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that is more maintainable, extensible, scalable, and testable.

Inheritance and Internals: Object-Oriented Programming in Python

In this video course, you'll learn about the various types of inheritance that you can use to write object-oriented code in Python. These include class inheritance, multilevel inheritance, and multiple inheritance, along with special methods and abstract base classes.

Create a Python Wordle Clone With Rich

In this step-by-step project, you'll build your own Wordle clone with Python. Your game will run in the terminal, and you'll use Rich to ensure your word-guessing app looks good. Learn how to build a command-line application from scratch and then challenge your friends to a wordly competition!

Replacing a String in Python

In this video course, you'll learn how to remove or replace a string or substring. You'll go from the basic string method .replace() all the way up to a multi-layer regex pattern using the sub() function from Python's re module.

Process Images Using the Pillow Library and Python

In this video course, you'll learn how to use the Python Pillow library to deal with images and perform image processing. You'll also explore using NumPy for further processing, including to create animations.

Reversing Strings in Python

In this video course, you'll learn how to reverse strings in Python by using available tools such as reversed() and slicing operations. You'll also learn how to build reversed strings by hand.

Socket Programming in Python Part 1: Handling Connections

In this video course, you'll learn how to build a socket server and client with Python. Along the way, you'll get to know the main functions and methods in Python's socket module, and you'll implement a multi-connection server and client.

Creating Web Maps From Your Data With Python Folium

You'll learn how to create web maps from data using Folium. The package combines Python's data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this video course, you'll create and style a choropleth world map showing the ecological footprint per country.

Filtering Iterables With Python

In this video course, you'll learn how Python's filter() works and how to use it effectively in your programs. You'll also learn how to use list comprehension and generator expressions to replace filter() and make your code more Pythonic.

Jinja Templating

With Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.

Recursion in Python

A recursive function is one that calls itself. In this video course, you'll see what recursion is, how it works in Python, and under what circumstances you should use it.

Python Basics: Reading and Writing Files

In this video course, you'll learn how to move data back and forth between your Python programs and external software by reading and writing files. You'll practice reading and writing data stored in the CSV file format, one of the most widely supported file formats for transferring tabular data.

Mazes in Python: Build, Visualize, Store, and Solve

In this video course, you'll use object-oriented programming and scalable vector graphics (SVG) to build and visualize your maze. You'll then transform the maze into a traversable weighted graph and solve it with a graph search algorithm in the NetworkX library.

Getting the First Match From a Python List or Iterable

In this video course, you'll learn about the best ways to get the first match from a Python list or iterable. You'll look into two different strategies, for loops and generators, and compare their performance. Then you'll finish up by creating a reusable function for all your first matching needs.

Using k-Nearest Neighbors (kNN) in Python

In this video course, you'll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you'll use scikit-learn to facilitate your coding process.

Metaclasses in Python

Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you'll learn how Python's metaclasses work in object-oriented programming.

Getting the Most Out of the Python Standard REPL

In this video course, you'll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more.

Publishing Python Packages to PyPI

In this video course, you’ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using setup.cfg.

Using Python's assert to Debug and Test Your Code

In this course, you'll learn how to use Python's assert statement to document, debug, and test code in development. You'll learn how assertions might be disabled in production code, so you shouldn't use them to validate data. You'll also learn about a few common pitfalls of assertions in Python.

Python Basics: Installing Packages With pip

Python's standard library includes a whole buffet of useful packages, but sometimes you need to reach for a third-party library. That's where pip comes in handy. In this video course, you'll learn how to pip install packages.

Using OrderedDict in Python

In this video course, you'll learn what Python's OrderedDict is and how to use it in your code. You'll also learn about the main differences between regular dictionaries and ordered dictionaries.

Check if a Python String Contains a Substring

In this video course, you'll learn the best way to check whether a Python string contains a substring. You'll also learn about idiomatic ways to inspect the substring further, match substrings with conditions using regular expressions, and search for substrings in pandas.

YAML: Python's Missing Battery

In this video course, you'll learn about working with YAML in Python. By the end of it, you'll know about the available libraries, their strengths and weaknesses, and the advanced and potentially dangerous features of YAML.

Summing Values the Pythonic Way With sum()

In this video course, you'll learn how to use Python's sum() function to add numeric values together. You'll also learn how to concatenate sequences, such as lists and tuples, using sum().

Documenting Python Projects With Sphinx and Read the Docs

In this video series, you'll create project documentation from scratch using Sphinx, the de facto standard for Python. You'll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.

Manipulating ZIP Files With Python

In this video course, you'll learn how to manipulate ZIP files using Python's zipfile module from the standard library. Through hands-on examples, you'll learn how to read, write, compress, and extract files from your ZIP files quickly.

Writing Clean, Pythonic Code With namedtuple

In this video course, you'll learn what Python's namedtuple is and how to use it in your code. You'll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples.

Using the Terminal on Windows

In this Code Conversation video course, you'll learn how to use the terminal on Windows. You'll navigate the file system with Philipp and Ian and perform common tasks like creating files and folders. If you've never used the terminal before, then this video course will help you get started.

Getters and Setters in Python

In this video course, you'll learn what getter and setter methods are, how Python properties are preferred over getters and setters when dealing with attribute access and mutation, and when to use getter and setter methods instead of properties in Python.

Python Basics: Building Systems With Classes

In this video course, you'll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you'll harness the power of object-oriented programming (OOP).

Using the Terminal on Linux

In this Code Conversation video course, you'll learn how to use the terminal on Linux. You'll navigate the file system with Philipp and Geir Arne and perform common tasks like creating files and folders. If you've never used the terminal before, then this video course will help you get started.

Python Basics: Object-Oriented Programming

In this video course, you'll get to know OOP, or object-oriented programming. You'll learn how to create a class, use classes to create new objects, and instantiate classes with attributes.

Using the Terminal on macOS

In this Code Conversation video course, you'll learn how to use the terminal on macOS. You'll navigate the file system with Philipp and Martin and perform common tasks like creating files and folders. If you've never used the terminal before, then this video course will help you get started.

Build Cross-Platform GUI Apps With Kivy

In this video course, you'll learn how to build a cross-platform mobile application with Python and the Kivy GUI framework. You'll discover how to develop an application that can run on your desktop as well as your phone. Then, you'll package your app for Windows, Linux, and macOS.

Python Basics: File System Operations

In this video course, you'll learn how to use the pathlib module to carry out file path operations with Python. These operations include creating, iterating over, searching for, moving, and deleting files and folders.

Context Managers and Python's with Statement

In this video course, you'll learn what the Python with statement is and how to use it with existing context managers. You'll also learn how to create your own context managers.

Python Basics: Dictionaries

One of the most useful data structures in Python is the dictionary. In this video course, you’ll learn what a dictionary is, how dictionaries differ from lists and tuples, and how to define and use dictionaries in your own code.

Using Python's pathlib Module

In this video course, you'll learn how to effectively work with file system paths in Python 3 using the pathlib module in the standard library.

Everyday Project Packaging With pyproject.toml

In this Code Conversation video course, you'll learn how to package your everyday projects with pyproject.toml. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that'll work for many build systems.

Refactoring: Prepare Your Code to Get Help

In this Code Conversation video course, you'll explore the steps you can take to get help when you're stuck while coding. You'll investigate how to clean up your code to focus on the question you have. Along the way, you'll learn how to handle errors and use custom exceptions.

Python Basics: Scopes

In this video course, you'll learn what scope is and why it's important to coding functions and loops in Python. You'll also get to know the LEGB rule.

Cool New Features in Python 3.11

In this video course, you'll explore what Python 3.11 brings to the table. You'll learn how Python 3.11 is the fastest and most user-friendly version of CPython yet, and learn about improvements to the typing system and to the asynchronous features of Python.

Python Basics: Numbers and Math

In this video course, you'll learn the math that you'll need for your Python programming journey. This includes integers and floating-point numbers, arithmetic operators, and string formatting for numbers.

Providing Multiple Constructors in Your Python Classes

In this video course, you'll learn how to provide multiple constructors in your Python classes. To this end, you'll learn different techniques, such as checking argument types, using default argument values, writing class methods, and implementing single-dispatch methods.

Python Basics: Strings and String Methods

In Python, collections of text are called strings. In this course, you'll learn about this fundamental data type and the string methods that you can use to manipulate strings. Along the way, you'll learn ways to work with strings of numbers, and how to format strings for printing.

Sneaky REST APIs With Django Ninja

In this video course, you'll learn how to use Django Ninja, a FastAPI-inspired tool for turning Django views in REST API endpoints. With Ninja, you can quickly build API endpoints.

Building Python Project Documentation With MkDocs

In this video course, you'll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code's docstrings.

Python Basics: Conditional Logic and Control Flow

In this Python Basics video course, you'll learn how to use conditional logic to write programs that perform different actions based on different conditions. Paired with functions and loops, conditional logic allows you to write complex programs that can handle many different situations.

Building Command Line Interfaces With argparse

In this step-by-step Python video course, you'll learn how to take your command line Python scripts to the next level by adding a convenient command line interface that you can write with argparse.

Python Basics: Functions and Loops

In this Python Basics video course, you'll learn how to create user-defined functions that you can execute several times throughout your code. You'll also try your hand at repeating code with for and while loops.

Building a URL Shortener With FastAPI and Python

In this video course, you'll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You'll also use the automatically created documentation of FastAPI to try out your API endpoints.

Caching in Python With lru_cache

Caching is an essential optimization technique. In this video course, you'll learn how to use Python's @lru_cache decorator to cache the results of your functions using the LRU cache strategy. This is a powerful technique you can use to leverage the power of caching in your implementations.

Exploring Special Function Parameters

In this Code Conversation video course, you'll explore special function parameters that allow for positional-only arguments, keyword-only arguments, or a combination of the two.

Python Basics: Finding and Fixing Code Bugs

In this Python Basics video course, you'll learn how to identify and fix logic errors, or bugs, in your Python code. You'll use the built-in debugging tools in Python's Integrated Development and Learning Environment to practice locating and resolving bugs in an example function.

Using the Python not Operator

In this course, you'll learn how Python's "not" operator works and how to use it in your code. You'll get to know its features and see what kind of programming problems you can solve by using "not" in Python.

Using the Python and Operator

In this video course, you'll learn how Python's "and" operator works and how to use it in your code. You'll get to know its special features and see what kind of programming problems you can solve by using "and" in Python.

Building a Site Connectivity Checker

In this video course, you'll build a Python site connectivity checker for the command line. While building this app, you'll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.

Python mmap: Doing File I/O With Memory Mapping

In this video course, you'll learn how to use Python's mmap module to improve your code's performance when you're working with files. You'll get a quick overview of the different types of memory before diving into how and why memory mapping with mmap can make your file I/O operations faster.

Combining Data in pandas With concat() and merge()

In this video course, you'll learn two techniques for combining data in pandas: merge() and concat(). Combining Series and DataFrame objects in pandas is a powerful way to gain new insights into your data.

Write and Test a Python Function: Interview Practice

In this interview practice session, you'll tackle creating a function that will double every character within a string. This challenge is typical of what you might encounter in a Python job interview. You'll explore how to add tests to your code.

Data Cleaning With pandas and NumPy

In this video course, you'll learn how to clean up messy data using pandas and NumPy. You'll become equipped to deal with a range of problems, such as missing values, inconsistent formatting, malformed records, and nonsensical outliers.

Exploring Scopes and Closures in Python

In this Code Conversation video course, you'll take a deep dive into how scopes and closures work in Python. To do this, you'll use a debugger to walk through some sample code, and then you'll take a peek under the hood to see how Python holds variables internally.

Using Python Class Constructors

In this video course, you'll learn how class constructors work in Python. You'll also explore Python's instantiation process, which has two main steps: instance creation and instance initialization.

Deploying a Flask Application Using Heroku

In this video course, you'll learn how to create a Python Flask example web application and deploy it using Heroku. You’ll also use Git to track changes to the code, and you’ll configure a deployment workflow with different environments for staging and production.

Testing Your Code With pytest

In this video course, you'll learn how to take your testing to the next level with pytest. You'll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain.

Building a Django User Management System

In this video course, you'll learn how to extend your Django application with a user management system, complete with email sending and third-party authentication.

Exploring Keywords in Python

Python keywords make up the fundamental building blocks of any Python program. In this video course, you'll learn the basic syntax and usage for each of Python's thirty-five keywords so you can write more efficient and readable code.

Python REST APIs With FastAPI

In this course, you'll learn the main concepts of FastAPI and how to use it to quickly create web APIs that implement best practices by default. By the end of it, you will be able to start creating production-ready web APIs.

Using Python's datetime Module

Have you ever wondered about working with dates and times in Python? In this video course, you'll learn all about the built-in Python datetime library. You'll also learn about how to manage time zones and daylight saving time, and how to do accurate arithmetic on dates and times.

Python Basics: Code Your First Python Program

In this video course, you'll write your first Python program. Along the way, you'll learn about errors, declare variables and inspect their values, and try your hand at writing comments.

Sorting Data in Python With pandas

In this video course, you'll learn how to sort data in a pandas DataFrame using the pandas sort functions sort_values() and sort_index(). You'll learn how to sort by one or more columns and by index in ascending or descending order.

Exploring the Fibonacci Sequence With Python

In this video course, you'll explore the Fibonacci sequence in Python, which serves as an invaluable springboard into the world of recursion, and learn how to optimize recursive algorithms in the process.

Starting With Linear Regression in Python

In this video course, you'll get started with linear regression in Python. Linear regression is one of the fundamental statistical and machine learning techniques, and Python is a popular choice for machine learning.

Python any(): Powered Up Boolean Function

If you've ever wondered how to simplify complex conditionals by determining if at least one in a series of conditions is true, then look no further. This video course will teach you all about how to use any() in Python to do just that.

Defining Python Functions With Optional Arguments

In this video course, you'll learn about Python optional arguments and how to define functions with default values. You'll also learn how to create functions that accept any number of arguments using args and kwargs.

Python's len() Function

In this course, you'll learn how and when to use the len() Python function. You'll also learn how to customize your class definitions so that objects of a user-defined class can be used as arguments in len().

Looping With Python enumerate()

Once you learn about for loops in Python, you know that using an index to access items in a sequence isn't very Pythonic. So what do you do when you need that index value? In this course, you'll learn all about Python's built-in enumerate(), where it's used, and how you can emulate its behavior.

Starting With Python IDLE

In this course, you'll learn how to use the development environment included with your Python installation. Python IDLE is a small program that packs a big punch! You'll learn how to use Python IDLE to interact with Python directly, work with Python files, and improve your development workflow.

Working With Pipenv

Pipenv is a packaging tool for Python that solves some common problems associated with the typical workflow using pip, virtualenv, and requirements.txt. In this course, you'll go over what problems Pipenv solves and how to manage your Python dependencies with it.

Raising and Handling Python Exceptions

In this course, you'll learn what an exception is and how it differs from a syntax error. You'll learn about raising exceptions, making assertions, and catching exceptions to change the control flow of your program using the try, except, else, and finally keywords.

Host Your Django Project on Heroku

In this course, you'll learn how to host your Django project in the cloud for free and with little hassle. You'll use Heroku, which takes the burden of infrastructure management off your shoulders.

Binary, Bytes, and Bitwise Operators in Python

In this course, you'll learn how to use Python's bitwise operators to manipulate individual bits of data at the most granular level. With the help of hands-on examples, you'll see how you can apply bitmasks and overload bitwise operators to control binary data in your code.

Data Visualization Interfaces in Python With Dash

In this course, you'll learn how to build a dashboard using Python and Dash. Dash is a framework for building data visualization interfaces. It helps data scientists build fully interactive web applications quickly.

Building a Neural Network & Making Predictions With Python AI

In this step-by-step course, you'll build a neural network from scratch as an introduction to the world of artificial intelligence (AI) in Python. You'll learn how to train your neural network and make accurate predictions based on a given dataset.

Building Lists With Python's .append()

In this step-by-step course, you'll learn how Python's .append() works and how to use it for adding items to your list in place. You'll also learn how to code your own stacks and queues using .append() and .pop().

Using plt.scatter() to Visualize Data in Python

In this course, you'll learn how to create scatter plots in Python, which are a key part of many data visualization applications. You'll get an introduction to plt.scatter(), a versatile function in the Matplotlib module for creating scatter plots.

Reading Input and Writing Output in Python

In this introductory Python course, you'll learn how to take user input from the keyboard with the built-in function input() and how to display output to the console with the built-in function print().

Writing Idiomatic Python

What are the programming idioms unique to Python? This course is a short overview for people coming from other languages and an introduction for beginners to the idiomatic practices within Python. You'll cover truth values, looping, DRY principles, and the Zen of Python.

Python Assignment Expressions and Using the Walrus Operator

In this course, you'll learn about assignment expressions and the walrus operator. The biggest change in Python 3.8 was the inclusion of the := operator, which you can use to assign variables in the middle of expressions. You'll see several examples of how to take advantage of this new feature.

Cool New Features in Python 3.10

In this course, you'll explore some of the coolest and most useful features in Python 3.10. You'll appreciate more user-friendly error messages, learn about how you can handle complicated data structures with structural pattern matching, and explore new enhancements to Python's type system.

Rock, Paper, Scissors With Python: A Command Line Game

In this course, you'll learn to program rock paper scissors in Python from scratch. You'll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions.

Pass by Reference in Python: Best Practices

In this course, you'll explore the concept of passing by reference and learn how it relates to Python's own system for handling function arguments. You'll look at several use cases for passing by reference and learn some best practices for implementing pass-by-reference constructs in Python.

Using Data Classes in Python

Data classes are one of the new features introduced in Python 3.7. When using data classes, you don't have to write boilerplate code to get proper initialization, representation, and comparisons for your objects.

Graph Your Data With Python and ggplot

In this course, you'll learn how to use ggplot in Python to build data visualizations with plotnine. You'll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way.

Exploring the Python math Module

In this step-by-step course, you’ll learn all about Python’s math module for higher-level mathematical functions. Whether you’re working on a scientific project, a financial application, or any other type of programming endeavor, you just can’t escape the need for math!

Reading and Writing Files With pandas

In this course, you'll learn about the pandas IO tools API and how you can use it to read and write files. You'll use the pandas read_csv() function to work with CSV files. You'll also cover similar methods for efficiently working with Excel, CSV, JSON, HTML, SQL, pickle, and big data files.

Using the Python return Statement Effectively

In this step-by-step course, you'll learn how to use the Python return statement when writing functions. Additionally, you'll cover some good programming practices related to the use of return. With this knowledge, you'll be able to write readable, robust, and maintainable functions in Python.

Using sleep() to Code a Python Uptime Bot

In this course, you'll learn how to add time delays to your Python programs. You'll use the built-in time module to add Python sleep() calls to your code. To practice, you'll use time.sleep() when making an uptime bot that checks whether a website is still live.

The pandas DataFrame: Working With Data Efficiently

In this course, you'll get started with pandas DataFrames, which are powerful and widely used two-dimensional data structures. You'll learn how to perform basic operations with data, handle missing values, work with time-series data, and visualize data from a pandas DataFrame.

Speech Recognition With Python

In this course, you'll cover the fundamentals of speech recognition with Python. You'll learn which speech recognition library gives the best results and build a full-featured "Guess The Word" game with it.

The Square Root Function in Python

In this quick and practical course, you'll learn what a square root is and how to calculate one in Python. You'll even see how you can use the Python square root function to solve a real-world problem.

Defining and Calling Python Functions

In this course, you'll learn how to define and call your own Python function. You'll also learn about passing data to your function and returning data from your function back to its calling environment.

Python Inner Functions

In this step-by-step course, you'll learn what inner functions are in Python, how to define them, and what their main use cases are.

Python vs JavaScript for Python Developers

Python and JavaScript are two of the most popular programming languages in the world. In this course, you'll take a deep dive into the JavaScript ecosystem by comparing Python vs JavaScript. You'll learn the jargon, language history, and best practices from a Pythonista's perspective.

Using pandas to Make a Gradebook in Python

With this course and Python project, you'll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You'll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.

Python Basics: Setting Up Python

The first step to getting started with Python is to set it up on your machine. In this course, you'll learn how to download Python for Windows, macOS, and Ubuntu Linux and how to open Python's Integrated Development and Learning Environment, IDLE.

Explore Your Dataset With pandas

In this step-by-step course, you'll learn how to start exploring a dataset with pandas and Python. You'll learn how to access specific rows and columns to answer questions about your data. You'll also see how to handle missing values and prepare to visualize your dataset in a Jupyter Notebook.

How to Set Up a Django Project

In this course, you'll learn the necessary steps you'll need to take to set up a new Django project. You'll learn the basic setup for any new Django project that needs to happen before programming the specific functionality of your project.

Using the Python or Operator

In this step-by-step course, you'll learn about how the Python or operator works and how to use it. You'll get to know its special features and see what kind of programming problems you can solve by using or in Python.

Stacks and Queues: Selecting the Ideal Data Structure

In this course, you'll learn about three of Python's data structures: stacks, queue and priority queues. You'll look at multiple types and classes for all of these and learn which implementations are best for your specific use cases.

Simplify Python GUI Development With PySimpleGUI

In this step-by-step course, you'll learn how to create a cross-platform graphical user interface (GUI) using Python and PySimpleGUI. A graphical user interface is an application that has buttons, windows, and lots of other elements that the user can use to interact with your application.

Python's map() Function: Transforming Iterables

In this step-by-step course, you'll learn how Python's map() works and how to use it effectively in your programs. You'll also learn how to use list comprehension and generator expressions to replace map() in a Pythonic and efficient way.

Learn Text Classification With Python and Keras

In this course, you’ll learn about Python text classification with Keras, working your way from a bag-of-words model with logistic regression to more advanced methods, such as convolutional neural networks. You’ll also see how you can use pretrained word embeddings and hyperparameter optimization.

Python vs Java: Object Oriented Programming

In this step-by-step course, you'll learn about the practical differences in Python vs Java for object-oriented programming. By the end, you'll be able to apply your knowledge to Python, understand how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.

Understanding Python List Comprehensions

Python list comprehensions make it easy to create lists while performing sophisticated filtering, mapping, and conditional logic on their members. In this course, you'll learn when to use a list comprehension in Python and how to create them effectively.

Records and Sets: Selecting the Ideal Data Structure

In this course, you'll learn about two of Python's data structures: records and sets. You'll look at multiple types and classes for both of these and learn which implementations are best for your specific use cases.

Python Booleans: Leveraging the Values of Truth

In this course, you'll learn about the built-in Python Boolean data type, which is used to represent the truth value of an expression. You'll see how to use Booleans to compare values, check for identity and membership, and control the flow of your programs with conditionals.

Django View Authorization: Restricting Access

This course covers how to restrict your web pages to users with different roles through Django view authorization. You'll learn about HttpRequest.user objects, decorators that authenticate views, and ways to notify your users with the Django messages framework.

Navigating Namespaces and Scope in Python

In this course, you'll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You'll learn when namespaces are created, how they are implemented, and how they define variable scope.

Creating PyQt Layouts for GUI Applications

In this step-by-step course, you’ll learn how to use PyQt layouts to arrange and manage the graphical components on your GUI applications. With the help of PyQt's layout managers, you'll be able to create polished and professional GUIs with minimal effort.

Python Modulo: Using the % Operator

In this course, you'll learn about the Python modulo operator (%). You'll look at the mathematical concepts behind the modulo operation and how the modulo operator is used with Python's numeric types. You'll also see ways to use the modulo operator in your own code.

Plot With pandas: Python Data Visualization Basics

In this course, you'll get to know the basic plotting possibilities that Python provides in the popular data analysis library pandas. You'll learn about the different kinds of plots that pandas offers, how to use them for data exploration, and which types of plots are best for certain use cases.

Evaluate Expressions Dynamically With Python eval()

In this step-by-step course, you'll learn how Python's eval() works and how to use it effectively in your programs. Additionally, you'll learn how to minimize the security risks associated to the use of eval().

Introduction to Sorting Algorithms in Python

In this course, you'll learn all about five different sorting algorithms in Python from both a theoretical and a practical standpoint. You'll also learn several related and important concepts, including Big O notation and recursion.

Managing Python Dependencies

Get up to speed with Python dependency management quickly and go from “writing scripts” to “building applications” with this complete course.

Building HTTP APIs With Django REST Framework

This course will get you ready to build HTTP APIs with Django REST Framework. The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces.

Django Admin Customization

In this course, you'll learn how to customize Django's admin with Python. You'll use AdminModel objects to add display columns, calculate values, link to referring objects, and search and filter results. You'll also use template overriding to gain full control over the admin's HTML.

Serializing Objects With the Python pickle Module

In this course, you'll learn how you can use the Python pickle module to convert your objects into a stream of bytes that can be saved to a disk or sent over a network. You'll also learn the security implications of using this process on objects from an untrusted source.

Python Turtle for Beginners

In this step-by-step course, you'll learn the basics of Python programming with the help of a simple and interactive Python library called turtle. If you're a beginner to Python, then this course will definitely help you on your journey as you take your first steps into the world of programming.

Speed Up Python With Concurrency

Learn what concurrency means in Python and why you might want to use it. You'll see a simple, non-concurrent approach and then look into why you'd want threading, asyncio, or multiprocessing.

How Python Manages Memory

Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you’ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python’s internal memory management algorithms.

Formatting Python Strings

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.

Regular Expressions and Building Regexes in 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.

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.

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.

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.

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.

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.

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.

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.

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.

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

Editing Excel Spreadsheets in Python With openpyxl

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

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.

Office Hours Archive

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!

Identify Invalid Python Syntax

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!

Practical Recipes for Working With Files in 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.

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!

Mastering Python's Built-in time Module

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.

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

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!

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.

Getting the Most Out of a Python Traceback

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.

Parallel Iteration With Python's zip() Function

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.

A Beginner's Guide to pip

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.

Convert a Python String to int

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.

Improve Your Tests With the Python Mock Object Library

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

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.

Python Coding Interviews: Tips & 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

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

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.

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.

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

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

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

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

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.

Finding the Perfect Python Code Editor

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

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.

Sets in 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 Modules and Packages: An Introduction

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.

Basic Data Types in 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.

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.

Sorting Data With 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.

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.