型の定義(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] のように変数に直接代入して新しい型を定義する。

この記事が気に入ったらサポートをしてみませんか?