2ヶ月ほど遅れてリリースノートを読んでいる...
今後は1年ごとのメジャーリリースとなるらしい。3.10 は来年の10月頃
■ PEP 584, union operators added to dict
今まではupdate メソッドを利用していたのがset のように書けるようになった
>>> {1:'A'} | {2:'B'}
{1: 'A', 2: 'B'}
>>> {1:'あ', 2: 'い'} | {2:'う'}
{1: 'あ', 2: 'う'}
>>> d1 = {1: 'A'}
>>> d1 |= {2: 'B'}
>>> d1
{1: 'A', 2: 'B'}
■ PEP 616, string methods to remove prefixes and suffixes
removeprefix とremovesuffixメソッドの追加
スペース以外に対応したlstrip() rstrip()の拡張版
新メソッドでなく、lstrip, rstrip に引数を追加する形でも良かった気がするが。
>>> "【大安売り!】".removeprefix("【").removesuffix("】")
'大安売り!'
■ ZoneInfoモジュール
今までは標準ライブラリだけではタイムゾーン名が利用できなかった。
(あれ、そうだった?とにかく日時処理はめんどくさいし、すぐに忘れるので大変!)
Python 3.9の新機能
What’s New In Python 3.9