DEV Community

Cover image for Python features by version
Mišo
Mišo

Posted on • Updated on

Python features by version

From time to time I need to poke someone to use a new version of Python but I couldn't find the list of main features one gets by this. There is https://docs.python.org/3.10/whatsnew/index.html but that is too much info. So here is my concise list. Also, there is an EOL (End of Life) date for every version in the brackets.

Python 3.10 (2026-10)

    match point:
        case Point(x=0, y=0):
            print("Origin is the point's location.")
        case Point(x=0, y=y):
            print(f"Y={y} and the point is on the y-axis.")
        case Point(x=x, y=0):
            print(f"X={x} and the point is on the x-axis.")
        case Point():
            print("The point is located somewhere else on the plane.")
        case _:
            print("Not a point")
Enter fullscreen mode Exit fullscreen mode
with (
    CtxManager1(),
    CtxManager2()
):
    ...
Enter fullscreen mode Exit fullscreen mode

Python 3.9 (2025-10)

Python 3.8 (2024-10)

Python 3.7 (2023-06)

@dataclass
class Point:
    x: float
    y: float
    z: float = 0.0

p = Point(1.5, 2.5)
print(p)   # produces "Point(x=1.5, y=2.5, z=0.0)"
Enter fullscreen mode Exit fullscreen mode

Python 3.6 (2021-12)

async def ticker(delay, to):
    """Yield numbers from 0 to *to* every *delay* seconds."""
    for i in range(to):
        yield i
        await asyncio.sleep(delay)
Enter fullscreen mode Exit fullscreen mode
result = [i async for i in aiter() if i % 2]
result = [await fun() for fun in funcs if await condition()]
Enter fullscreen mode Exit fullscreen mode

Python 3.5 († 2020-09-30)

Python 3.4 († 2019-03-18)

Python 3.3 († 2017-09-29)

Python 3.2 († 2016-02-20)

Python 3.1 († 2012-04-09)

  • OrderedDict
  • with handles multiple context managers in single statement

Python 3.0 († 2009-06-27)

Discussion (1)

Collapse
rhymes profile image
rhymes

LOL for the last item in the list😂