Real Python Podcast Episode #109 Title Artwork

Episode 109: Start Testing Your Python with doctest & Pagination in Django

The Real Python Podcast

May 13, 2022 56m

The Real Python Podcast
#109: Start Testing Your Python with doctest & Pagination in Django
loading 00:0056:39
live

Did you know you can add testing to your Python code while simultaneously documenting it? Using docstrings, you can create examples of how your functions should interact in a Python REPL and test them with the built-in doctest module. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.

Episode Sponsor:

Christopher shares an article by previous guest Mike Driscoll about testing with doctest. This is a great way to get started with testing your own code, and it offers the added benefit of documenting functionality.

We talk about the recent Real Python article “Pagination for a User-Friendly Django App.” Spreading your content across multiple pages can significantly improve the user experience of your web application. This article takes you through configuring Django’s built-in pagination tool and how to combine it with other web tools.

We discuss a recent article about Python type hints and the author’s disappointment. We also include reactions from a couple of online communities.

We cover several other articles and projects from the Python community, including why it’s important to close files in Python, how dunder methods are awesome, a bidirectional Python dictionary, prettier git diffs, and a command-line game to learn git.

Topics:

  • 00:00:00 – Introduction
  • 00:02:15 – PyCon US 2022 Follow-up
  • 00:07:57 – Why Is It Important to Close Files in Python?
  • 00:15:17 – Dunder Methods in Python: The Ugliest Awesome Sauce
  • 00:24:26 – Sponsor: Mailtrap
  • 00:25:08 – Python Testing With doctest
  • 00:28:20 – Python Bidirectional Dictionary
  • 00:30:27 – Pagination for a User-Friendly Django App
  • 00:36:07 – Video Course Spotlight
  • 00:37:27 – Python’s “Type Hints” are a bit of a disappointment to me
  • 00:52:25 – dunk: Prettier Git Diffs
  • 00:53:43 – git-gud: Command-Line Game to Learn git
  • 00:55:40 – Thanks and goodbye

Topic Links:

  • Why Is It Important to Close Files in Python? – Model citizens use context managers to open and close file resources in Python, but have you ever wondered why it’s important to close files? In this tutorial, you’ll take a deep dive into the reasons why it’s important to close files and what can happen if you dont.
  • Dunder Methods in Python: The Ugliest Awesome Sauce – Double-underscore methods, also known as “dunder methods” or “magic methods” are an ugly way of bringing beauty to your code. Learn about constructors, __repr__, __str__, operator overloading, and getting your classes working with Python functions like len().
  • Python Testing With doctest – Python’s doctest module allows you to write unit tests through REPL-like sessions in your docstrings. Learn how to write and execute doctest code. Also available in video.
  • Python Bidirectional Dictionary – Learn about the Bidict library, a bidirectional dictionary where your keys and your values can both be used to look up an item. This can be a useful tool when dealing with mapped data, like country code to country name, where you want to look up either side of the relationship.
  • Pagination for a User-Friendly Django App – In this tutorial, you’ll learn how to serve paginated content in your Django apps. Using Django pagination can significantly improve your website’s performance and give your visitors a better user experience.

Discussion:

Projects:

Additional Links: