Python 3.10では、新たな型ヒントの書き方が導入されました。これまで、複数の型を持つ可能性がある値に対しては、Union
クラスをインポートして使用する必要がありました。
from typing import Union
value: Union[int, str] = 10
また、変数や引数などでNone
もしくは他の型の値を取る場合には、Optional
を同様にインポートして使用する必要がありました。
from typing import Optional
value: Optional[int] = None
しかし、Python 3.10からは、|
記号を使って型ヒントを書くことができます。
value: int|str = 100
この新しい書き方により、Union
やOptional
のインポートが不要になり、コードがすっきりします。
また、isinstance
やissubclass
でも|
記号を使って複数の型をチェックすることができます。
value = 'apple'
print(isinstance(value, str|int)) # True
この新しい書き方はPython 3.10以降で推奨されています。Pythonのバージョンを確認して、新しい型ヒントの書き方を活用しましょう。