コンテンツにスキップ

ジェネリクス

Python 3.12 以降は以下のように書ける。

1
2
3
4
5
6
7
8
9
def add[T](a: T, b: T) -> T:
    return a + b


result_to_be_int = add(1, 2)  # 型はint
print(result_to_be_int)  # 3

result_to_be_str = add("a", "b")  # 型はstr
print(result_to_be_str)  # ab

Python 3.11.X 以前では以下を追記すれば使える。

1
2
3
from typing import TypeVar

T = TypeVar("T")