プログラミングの用語一覧へ
このページの目次

型ヒントとは?

最終更新:2026/08/18

3秒でわかる

Pythonの引数戻り値に想定するを書き添える記法。実行は止めない代わりに、検査ツールと補完が誤りを先に見つけます。

もう少し詳しく

どういうものか

型ヒントは、変数や引数、戻り値がどんな型を想定しているかをコードに書き添える記法です。Python本体はこの記述を読み飛ばすため、想定と違う値を渡しても実行時に例外にはなりません。価値を生むのは mypy や pyright といった検査ツールとエディタで、書いてある型をもとに矛盾を実行前に指摘し、補完の精度も上げます。

なぜ必要か

引数の data に何が入るのかは、名前だけでは分かりません。辞書のリストなのか、DataFrameなのか、読み手は関数の中を全部たどるか、呼び出し元を探すことになります。型を1行書いておけば、その調査が消えます。返り値が None になりうることも明示できるため、None を素通しして落ちる事故が減ります。人数が増えた開発では、この注釈が読み手向けの最小限の仕様書として働きます。

具体例

from dataclasses import <a href="/glossary/dataclass" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">dataclass</a> @dataclass class User: id: int name: str def find_user(users: list[User], user_id: int) -> User | <a href="/glossary/none" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">None</a>: for u in users: if u.id == user_id: return u return None def total_price(prices: dict[str, int], tax: float = 0.1) -> int: return round(sum(prices.values()) * (1 + tax))

検査は実行とは別に走らせます。

pip install mypy mypy app.py

つまずきやすいところ

書いたのだから守られる、と思い込む誤解が最も多く見られます。検査ツールを動かさない限り、型ヒントはただのコメントと同じです。CIに mypy を入れて初めて効きます。もうひとつ、Optional を付けずに None を返す関数です。呼び出し側が属性アクセスして落ちる典型で、返り値に | None を書いておけば検査が事前に止めてくれます。既定値に []{} を書く癖も、型とは別の問題として事故を生みます。

似た用語との違い

内容
型ヒント想定する型の注釈 実行時は無視される
静的型付け言語側が実行前に型を強制する仕組み
実行時検証pydantic などが動作中に値を確かめる処理


覚え方

型ヒントは審判ではなく標識です。標識を読む道具を入れて初めて、走る前に間違いへ気づけるようになります。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地型ヒントプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python中級 内包表記・高階関数・クラス入門

58レッスン
コース

データ分析入門 Python(pandas)

57レッスン
コース

Python入門:基礎文法編

74レッスン
Pythonコースの全編を見る