Pythonは動的型付けの言語ですが、バージョン3.5から型ヒントが導入されました。型ヒントは静的型付け言語のように型によるチェックができるようになる一方で、実行時には影響を及ぼしません。この記事では、型ヒントに含まれるUnionTypeVarの違いについて説明します。

Union

Unionは「str or int」のように「いくつかのある型のうちいずれか」にマッチすればOKという型ヒントです。例えば、以下のように使用します。

from typing import Union

def func(param: Union[int, str]):
    pass

この関数funcは、引数paramint型またはstr型のいずれかであることを期待しています。

TypeVar

一方、TypeVarはジェネリクスの型変数を定義するための型ヒントです。TypeVarを使用すると、特定の型変数が指定されたすべてのパラメーターが同じ型であることを強制できます。以下に例を示します。

from typing import TypeVar

T = TypeVar("T")

def func(param1: T, param2: T):
    pass

この関数funcは、引数param1param2が同じ型であることを期待しています。

まとめ

UnionTypeVarは、Pythonの型ヒントシステムの重要な部分です。Unionは複数の型のいずれかを許容するために使用され、TypeVarは特定の型変数が指定されたすべてのパラメーターが同じ型であることを強制するために使用されます。これらの理解は、Pythonの型ヒントを効果的に使用するための鍵となります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です