型の定義(Python)
Python は Typing モジュールを利用して変数や関数の型注釈ができる。
次のような関数定義があれば、整数型の引数をひとつ取って整数を返すことがわかる。
def myFunction(v: int) -> int:
複雑な構造を持つ戻り値やたくさんの引数があるとき、型の明示はとくに理解の助けになる(ので積極的に使いたい)。
新しい型の定義
新しい型は、型定義を変数に代入することで実現する。
from typing import List, Dict, TypeAlias
# 新しい型の定義
UserData: TypeAlias = Dict[str, str]
UserList: TypeAlias = List[UserData]
# 定義した型を使用する関数
def process_users(users: UserList) -> None:
for user in users:
print(f"Name: {user['name']}, Email: {user['email']}")
# 使用例
users: UserList = [
{"name": "Alice", "email": "alice@example.com"},
{"name": "Bob", "email": "bob@example.com"}
]
process_users(users)
なお Python 3.9 以前では TypeAlias が未定義のため UserData = Dict[str, str] のように変数に直接代入して新しい型を定義する。