Python3.10では、新たな型アノテーションの書き方が追加されました。それは|
記号を使ったUnion型アノテーションです。
これまで、複数の型になりうる値に関しては以下のようにUnion
クラスをimport
して使う必要がありました。
from typing import Union
value: Union[int, str] = 10
また、変数や引数などでNone
もしくは他の型の値を取るといったケースではOptional
を同様にimport
して使う必要がありました。
from typing import Optional
value: Optional[int] = None
しかし、Python3.10からは以下のように|
の記号を使うことで型アノテーションができるようになります。
value: int|str = 100
この新しい書き方の利点は、import
が不要になり、1行の文字数が多くなったりしないのでPEP8などの準拠が楽になります。
また、Optional
に関しても同様に|
記号とNone
を使うことで、import
無しで型アノテーションできるようになります。
value: int|None = None
この新機能は、Pythonの型アノテーションをより簡単に、そして直感的に書くことを可能にします。Python3.10を使っている方はぜひ試してみてください。