PythonのType Hintでは、特定の型またはNoneを許容する場合にOptional
を使用します。これは、関数の引数や戻り値が指定の型であるか、またはNoneである可能性があることを示します。
例えば、以下の関数foo
では、hello
は文字列型(str
)でデフォルト値は’world’、bar
は文字列型またはNoneでデフォルト値はNone、another_string_or_None
も文字列型またはNoneでデフォルト値はNoneとなっています。
import typing
def foo(
hello: str = 'world',
bar: str = None,
another_string_or_None: typing.Optional[str] = None
):
pass
Python 3.10からは、str | None
のようにパイプ(|
)を使用して複数の型を指定することが可能になりました。これにより、typing.Optional[str]
の代わりにstr | None
と書くことができます。
しかし、注意点として、Pythonのランタイムは関数や変数の型注釈を強制しません。これらは、型チェッカーやIDE、リンターなどのサードパーティツールによって使用されます。このため、型ヒントを使用する際は、これらのツールのサポートを確認することが重要です。
以上、PythonのType HintでのNoneの扱いについて解説しました。適切な型ヒントを使用することで、コードの可読性と保守性を向上させることができます。