Learn From 2023's Most Popular Python Tutorials and Courses

Learn From 2023's Most Popular Python Tutorials and Courses

by Kate Finegan Jan 08, 2024 community

Python is always getting better, and 2023 brought a number of exciting developments. As part of the Faster CPython project, Python 3.12 is speedier than previous versions. The new release brings improved error messages and more powerful f-strings. You can also enjoy support for the Linux perf profiler, static typing improvements, and changes to subinterpreters.

The Python Software Foundation (PSF) focused on enhancing security in 2023, with the help of inaugural Security Developer-in-Residence Seth Michael Larson. As part of this comprehensive effort, PyPI completed its first security audit. Plus, the year brought new major versions of pandas, Django, and Pydantic. Another exciting development was Mojo, a superset of Python that’s specifically designed for use in machine-learning contexts.

Here at Real Python, we’ve published over a hundred written tutorials and video courses this year, plus weekly podcast episodes. Keep reading to revisit an old favorite or embark on a new learning journey. You can also check out the wrap-up podcast episode.

Practice Your Skills

Python Basics: Object-Oriented Programming

Practice makes perfect, especially when it comes to programming. This year, the Real Python team expanded the Python Basics learning path with exercises designed to strengthen your Python skills and help you apply your knowledge in real-world scenarios.

In these courses, you can test your knowledge by completing review exercises and challenges before comparing your work to the instructors’ solutions:

By actively engaging with these exercises, you’ll solidify your understanding of Python concepts and build confidence in your programming abilities. Another way to test your knowledge is by taking quizzes, and we added several in 2023. For help along the way, be sure to join Real Python’s community chat and weekly office hours.

Customize Your Coding Environment

Choosing the Best Coding Font for Programming

Your coding environment plays a crucial role in your productivity as a programmer, so it’s definitely worthwhile to explore your options and make yourself at home. That means picking the perfect editor or IDE for your use case and then tweaking how it works for you.

In these tutorials, you’ll learn how to customize your coding environment to suit your needs:

By exploring these resources, you’ll discover tools and techniques that can enhance your coding experience, making you more efficient and comfortable as you write Python code.

Build an Application From Scratch

Build a Hangman Game With Python and PySimpleGUI

One of the very best ways to grow as a programmer is by completing projects, such as apps. Building your own applications is a great way to put your programming skills into practice and create something useful. Your creativity can soar as you make an exciting new game or a useful tool for work.

In these tutorials, you’ll learn how to build different types of applications using Python:

These tutorials will guide you step-by-step. By exploring these resources, you’ll gain practical experience in building complete applications to hone your programming skills and take your Python prowess to the next level.

Get to Know Python Data Structures

Python's Mutable vs Immutable Types: What's the Difference?

Understanding data structures is crucial for efficient programming in Python. Data structures allow you to store and organize data in a meaningful way, making it easier to manipulate and analyze.

In these tutorials and articles, you’ll explore different Python data structures:

By delving into these resources, you’ll gain a solid understanding of Python’s data structures and learn how to use them effectively in your own programs, paving the way for more efficient and robust code.

Learn What Functions Can Do

Python's sum(): The Pythonic Way to Sum Values

To function means to work, so it’s no wonder that you can make a lot happen with functions in Python! Functions make your code less repetitive while also allowing code reuse. You can define your own functions but also take advantage of Python’s built-in functions.

In the following video courses, you’ll get to know some key functions:

By exploring the linked resources, you’ll gain a deeper understanding of the power and versatility of functions in Python, enabling you to write clean and concise code.

Find Out How to Complete a Task

How to Use Type Hints for Multiple Return Types in Python

For a programmer, learning new skills and techniques is an ongoing journey. Sometimes you want to dive deep into the mechanics of the language, and sometimes you want to learn how to do one specific task.

In these tutorials, you’ll discover how to accomplish specific tasks with Python:

You’ll gain practical knowledge and learn the precise steps required to do what you need to do, expanding your Python proficiency along the way.

Meet Your New Favorite Library

Python Folium: Create Web Maps From Your Data

Python’s vast library ecosystem means that you can find specialized tools to solve specific problems, even if you have to look beyond the language’s built-in modules.

In these tutorials, you’ll meet some powerful libraries that can become your new favorites:

Exploring these resources will introduce you to new libraries that can expand your Python tool kit and help you tackle new challenges.

Boost Your Data Science Skills

Serialize Your Data With Python

Data science is a rapidly growing field that leverages Python’s powerful libraries and tools to extract insights from data. Whether you’re interested in machine learning, data analysis, or data visualization, the following course and tutorials will introduce you to important concepts and techniques in data science:

You’ll gain practical knowledge and skills that are fundamental to the field of data science, empowering you to manipulate and analyze data effectively using Python.

Make Your Mark on the Web

Build a Scalable Flask Web Project From Scratch

Building web applications is an exciting endeavor that allows you to share your ideas and creations with the world. Maybe you’re interested in developing with Django or Flask, or you want to explore continuous integration with Docker.

Either way, these tutorials will provide you with the knowledge and skills necessary to make your mark on the Web:

By exploring these resources, you’ll gain the knowledge and skills necessary to develop and deploy web applications using popular frameworks. Get ready to bring your ideas to life with web development.

Package and Share Your Projects

Documenting Python Projects With Sphinx and Read the Docs

Once you’ve moved beyond writing single scripts, you’ll want to package your creations so that other users can import and run your scripts. You might need to share your project with your company or even with the wider Python community through PyPI.

In the following tutorial and courses, you’ll learn about different aspects of Python packaging and documentation:

By exploring these resources, you’ll learn important concepts and techniques for organizing your code, leveraging namespace packages, and documenting your projects. These skills will empower you to share your Python projects more effectively, making them accessible and maintainable for yourself and others.


2023 was an exciting year for Python, with new releases, improved security measures, and major updates to popular libraries and frameworks. At Real Python, we’ve enjoyed bringing you the latest community news alongside how-to guides, hands-on practice exercises, deep dives into core language topics, and more.

What were your favorite courses and tutorials from 2023, and what are you hoping to learn in the year to come?

🐍 Python Tricks 💌

Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Unsubscribe any time. Curated by the Real Python team.

Python Tricks Dictionary Merge

About Kate Finegan

Kate relishes a well-placed comma as Tutorial Editor for Real Python.

» More about Kate

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

Master Real-World Python Skills With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

Master Real-World Python Skills
With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

What Do You Think?

Rate this article:

What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know.

Commenting Tips: The most useful comments are those written with the goal of learning from or helping out other students. Get tips for asking good questions and get answers to common questions in our support portal.

Looking for a real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!

Keep Learning

Related Topics: community