5 Handy Python 3.12 New Features That Improve Your Coding Experience
2 min readPython, without a doubt, is the ruling language in the age of generative AI. It is indeed becoming better, faster, and smarter.
As the latest stable release, Python 3.12 optimized many things including syntax, security, standard libraries, and its interpreter. We don’t need to know all their technical details, as some improvements pertain to low-level APIs and won’t directly impact our daily code writing.
However, there are 5 handy enhancements that will make our Python programming more convenient and seamless. This article will show you how they work and why they are elegant.
1. Type Statements: Writing Simpler Type Aliases
Python is not a static typing language, but it has an excellent type hint system to make our programs more readable and easier to debug.
A type alias, as its name implies, is a trick to save time from writing a long type repeatedly.
We can define a type alias directly as follows:
Point = tuple[float, float]
class PointTest:
def __init__(self):
self.point: Point = (0, 0)
However, when our code becomes larger, it may seem confusing because defining a type alias is very similar to assigning a value to a variable.
To separate these two statements more clearly, Python 3.10 introduced a TypeAlias type hint. We can use it to improve the readability of our code:
from typing import TypeAlias
Point: TypeAlias = tuple[float, float]
class PointTest:
def __init__(self):
self.point: Point = (0, 0)
However, it still seems not elegant enough as Python should be.
This is why Python 3.12 provided a simpler and cleaner way for this:
type Point = tuple[float, float]
class PointTest:
def __init__(self):
self.point: Point = (0, 0)
Source: medium.com