Episode 175: Exploring the New Features of Python 3.12
The Real Python Podcast
Oct 06, 2023 1h 6m
Python 3.12 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. Geir Arne coordinated a series of preview articles with several members of the Real Python team this year, and his showcase tutorial, “Python 3.12: Cool New Features for You to Try,” came out on October 2. Christopher’s video course was posted the next day, covering the topics from the article with visual examples of Python 3.12 in action.
Geir Arne and Christopher collaborated to create code examples of the new features. We discuss better error messaging, more intuitive f-strings, subinterpreters, the Linux perf
profiler, improved typing syntax, and more.
We dig into the updates and offer advice on incorporating them into your projects. We also consider when you should start running Python 3.12.
Course Spotlight: 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.
Topics:
- 00:00:00 – Introduction
- 00:02:15 – Preview tutorials
- 00:05:08 – Ever better error messages
- 00:10:03 – More powerful f-strings
- 00:15:46 – Comprehension inlining & additional optimizations
- 00:21:24 – Support for subinterpreters
- 00:27:55 – Support for the Linux
perf
profiler - 00:32:02 – Immortal objects
- 00:35:01 – Video Course Spotlight
- 00:36:03 – Calendar constants for days and months
- 00:38:48 – New
itertools.batched()
for grouping Items - 00:40:53 – Improved type variable syntax
- 00:50:51 – New
Path.walk()
for listing files in subdirectories - 00:53:04 – Override decorator for static typing
- 00:57:36 – Advice on upgrading
- 01:03:08 – Thanks to the core developer team
- 01:04:39 – Thanks to the Real Python team and goodbye
Show Links:
- Python 3.12: Cool New Features for You to Try
- Python Release Python 3.12.0 - Python.org
- Python 3.12 Preview: Ever Better Error Messages
- Python 3.12 Preview: More Intuitive and Consistent F-Strings
- PEP 701 – Syntactic formalization of f-strings
- PEP 709 – Inlined comprehensions
- Python 3.12 Preview: Subinterpreters
- PEP 554 – Multiple Interpreters in the Stdlib
- PEP 684 – A Per-Interpreter GIL
- Python 3.12 Preview: Support For the Linux perf Profiler
- PEP 683 – Immortal Objects, Using a Fixed Refcount
- PEP 695 – Type Parameter Syntax
- Python 3.12 Preview: Static Typing Improvements
- PEP 698 – Override Decorator for Static Typing