Episode 30: Exploring the New Features of Python 3.9
The Real Python Podcast
Oct 09, 2020 1h 14m
Python 3.9 has arrived! This week on the show, former guest and Real Python author Geir Arne Hjelle returns to talk about his recent article, “Python 3.9: Cool New Features for You to Try”. Also joining the conversation is Real Python video course instructor and author Christopher Trudeau. Christopher has created a video course, which was released this week also, based on Geir Arne’s article. We talk about time zones, merging dictionaries, the new parser, type hints, and more.
Geir Arne and Christopher not only cover the new features, but they also offer advice about ways you might incorporate them into your code. We discuss what you should think about before updating your code.
Course Spotlight: 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.
Topics:
- 00:00:00 – Introduction
- 00:02:02 – Proper Time Zone support
- 00:05:38 – What to do if your OS does not have tzdata?
- 00:07:11 – How do you add time zone info to your Python code?
- 00:08:24 – Historic changes to time zones
- 00:10:48 – New operators for updating dictionaries
- 00:15:44 – Geir Arne’s PyCon 2020 decorators tutorial
- 00:18:02 – Changes to decorator syntax
- 00:24:08 – Annotated type hints
- 00:32:36 – Video Course Spotlight
- 00:33:26 – The PEG parser
- 00:37:51 – Potential for new enhancements in upcoming releases
- 00:42:40 – String methods to remove prefixes and suffixes
- 00:44:22 – Type hint lists and dictionaries directly
- 00:47:29 – Topological Sort
- 00:52:03 – Greatest Common Divisor (GCD) and Least Common Multiple (LCM)
- 00:53:50 – New HTTP status codes
- 00:58:29 – Should you upgrade?
- 01:07:58 – Potential issue with Python 3.10 versioning
- 01:10:18 – What are you excited about in the world of Python?
- 01:12:52 – What do you want to learn next?
- 01:14:08 – Thanks and goodbyes
Show Links:
- Python 3.9: Cool New Features for You to Try: Real Python article
- Cool New Features in Python 3.9: Real Python video course
- dateutil - Powerful extensions to datetime
- Paul Ganssle: Blog
- IANA - Internet Assigned Numbers Authority: Time Zone Database
- Dictionaries in Python: Real Python article
- PEP 584 – Add Union Operators To dict: python.org
- Primer on Python Decorators: Real Python article
- PEP 614 – Relaxing Grammar Restrictions On Decorators: python.org
- Introduction to Decorators: Power Up Your Python Code - PyCon 2020 Online Tutorial
- Python Type Checking (Guide) - Annotations:Real Python article
- PEP 484 – Type Hints: python.org
- PEP 593 – Flexible function and variable annotations: python.org
- PEP 617 – New PEG parser for CPython: python.org
- PEG Parsing Series Overview: Guido van Rossum
- PEP 622 – Structural Pattern Matching: python.org
- PEP 616 – String methods to remove prefixes and suffixes: python.org
- PEP 585 – Type Hinting Generics In Standard Collections: python.org
- Topological sorting: Wikipedia article
- graphlib — Functionality to operate with graph-like structures: docs.python.org
- Greatest common divisor: Wikipedia article
- Least common multiple: Wikipedia article
- Hypertext Transfer Protocol (HTTP) Status Code Registry
- Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
- PEP 602 – Annual Release Cycle for Python: Łukasz Langa - python.org
- Porting to Python 3.9: docs.python.org
- CPython Internals: Your Guide to the Python3 Interpreter
- Panel: A high-level app and dashboarding solution for Python
- PyQt: GUI Library
- Pandas
- Python and PyQt: Building a GUI Desktop Calculator - Real Python article
- GIS in Python
- GeoPandas