Not specifically a new feature, but I remember wasting a good bit of time when coming across a line that was essentially:
return headers.get('x-foo') == settings.FOO_KEY is not None
[1] https://docs.python.org/3.10/reference/expressions.html#comp...
I'm a huge Python fanboy and this line is absolutely awful.
Comparison chains are great for stuff like "x < y < z" or "x == y == z", but the operators should never be mixed.
"Readability counts" is, IMO, the most important line in the Zen of Python, and that line is unreadable. I imagine it's equivalent to:
return headers.get('x-foo') == settings.FOO_KEY and settings.FOO_KEY is not None