pythonの型ヒント・型指定の書式をまとめます
余計な説明は省略して、書式だけ列挙します
変数に対する型ヒント
name: str = "ABC"
関数に対する型ヒント
引数がint型、返り値がstr型
def func(x: int) -> str: return str(x)
複数の値を returnする場合
def func(x: int) -> tuple[int, int]: return x, x*2
コレクション型に対する型ヒント(python3.9以降)
コレクション型(list, tuple, dict, set など)に対する型ヒント書き方です
# str型のlist myArray: list[str] = ["A", "B"] # str型のtuple myTuple: tuple[int, int] = (120, 80) # str型とint型のdict myDict: dict[str, int] = {"key1": 1, "key2": 2} # str型 の set mySet: set[str] = {"string1", "string2"}
複数の型を許可する(python 3.10以降)
str型または int型を指定する場合は "|" を使います
x : str | int
引数に None を許容する関数
def f(arg: float | None) -> int:
Generator に対する型ヒント
from typing import Generator def generate() -> Generator[int, None, None]: for i in range(10): yield i
型指定は、Generator[YieldType, SendType, ReturnType] と書く。
yield しか使わないジェネレーターなら、SendTypeとReturnTypeはNoneを指定しておけばとりあえずOK。
詳細は typing --- 型ヒントのサポート — Python 3.12.3 ドキュメント