import collections.abc
import typing
# コレクション型のtype hintsは`[]`でジェネリクス部分の型を指定する
def func_dict1() -> dict[str,str]:
return {'key': 'value'}
def func_list1() -> list[str]:
return ["abc"]
def func_tuple1() -> tuple[str,str,str]:
return ("a","b","c")
# 可能な場合はcollections.abc.Sequenceなどの抽象コレクション型を使う方が望ましい。
def func_dict2() -> collections.abc.Mapping[str,str]:
return {'key': 'value'}
def func_list2() -> collections.abc.MutableSequence[str]:
return ["abc"]
# Python3.9より前の場合、組み込みのコレクション型のtype hintsはtyping.Dict等の専用型を利用する
def func_dict3() -> typing.Dict[str,str]:
return {'key': 'value'}
def func_list3() -> typing.List[str]:
return ["abc"]
def func_tuple3() -> typing.Tuple[str,str,str]:
return ("a","b","c")
# Union
def func_union1() -> typing.Union[str,int]:
return "str"
# def func_union2() -> str | int: # 3.10以降は|で記載可能
# return "str"
参考