Pythonのコードを読んでいると、def add(a: int, b: int) -> int: のように、引数の後ろに「: int」や「-> int」が付いているのを見かけることがあります。これが型ヒント(タイプヒント)です。
この記事では、型ヒントの基本の書き方から、リストや辞書、None を許す書き方、mypy でのチェックまでを、初心者向けに解説します。型ヒントは書かなくても動きますが、読みやすさとバグの早期発見に大きく役立ちます。
型ヒントとは?
型ヒントとは、変数や関数の引数・戻り値に「どんな型を想定しているか」を書き添える機能です。Pythonは実行時に型をチェックしないため、型ヒントを間違えてもそのままでは動いてしまいます。主な役割は、人間とエディタ、チェックツールに意図を伝えることです。
変数と関数の基本の書き方
name: str = "田中"
age: int = 28
price: float = 1980.5
is_admin: bool = False
def add(a: int, b: int) -> int:
return a + b
print(add(3, 5)) # 8変数は「変数名: 型 = 値」、関数は「引数名: 型」と「-> 戻り値の型」で書きます。戻り値がない関数には -> None を付けます。関数の基本はPythonの関数(def)の書き方で確認できます。
リスト・辞書・タプルの型ヒント
Python 3.9 以降では、list や dict をそのまま使って中身の型を指定できます。
scores: list[int] = [80, 92, 75]
user: dict[str, int] = {"age": 28, "height": 170}
point: tuple[int, int] = (3, 5)
def average(values: list[int]) -> float:
return sum(values) / len(values)
print(average(scores)) # 82.33333333333333それぞれのデータ型の特徴は、辞書(dict)やタプルの記事も参考にしてください。
None を許す・複数の型を許す
Python 3.10 以降では、| を使って「AまたはB」を表せます。None を許す場合にもよく使います。
def find_user(user_id: int) -> str | None:
users = {1: "田中", 2: "佐藤"}
return users.get(user_id)
print(find_user(1)) # 田中
print(find_user(9)) # None3.9 以前では typing モジュールの Optional[str] や Union[int, str] を使います。使っているバージョンに合わせて書き分けましょう。
型ヒントは、チーム開発や仕事でコードを書くときに重宝されます。実務レベルの書き方を学べる環境を探しているなら、プログラミングスクールの選び方と比較軸も参考になるはずです。
型ヒントは「間違えても動く」ことを確認
def add(a: int, b: int) -> int:
return a + b
print(add("こん", "にちは")) # こんにちは(エラーにはなりません)このように、型ヒントに反した値を渡しても実行時にはエラーになりません。ミスに気づくには、次に紹介するチェックツールを使います。
mypyで型をチェックする
mypy は、型ヒントをもとにコードを実行前に検査してくれるツールです。ターミナルで次のようにインストールして使います。
pip install mypy
mypy sample.py
# sample.py:5: error: Argument 1 to "add" has incompatible type "str"; expected "int"VS Code などのエディタでも、型ヒントがあると補完が賢くなり、間違いに赤線が引かれるようになります。
もっと効率的にPythonを学びたい人へ
型ヒントは、実務のコードを読む力を伸ばしたい方にこそ身につけてほしい知識です。実践的なコードを書いてレビューを受けたい方は、マンツーマン指導のスクールも検討してみてください。
Winスクールの「Python Winner」は、マンツーマン指導で未経験からPythonを学べ、転職サポートや無料カウンセリングにも対応しています。まずは無料カウンセリングで、自分に合うか確かめてみてはいかがでしょうか。
※本記事には広告(アフィリエイトリンク)を含みます。
Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】![]()
他のスクールとも比べたい方は、スクールの比較記事もあわせてご覧ください。資格取得を目指す方はPython3エンジニア認定基礎試験の参考書比較も参考になります。
まとめ
- 型ヒントは、変数・引数・戻り値の型を書き添える機能
- 変数は「名前: 型」、関数は「引数: 型」と「-> 戻り値の型」
- list[int] や dict[str, int] で中身の型も指定できる
- str | None のように「または」を表せる(3.10以降)
- 型ヒントだけでは実行時にチェックされず、mypy などで検査する
まずは自分が書いた関数に、引数と戻り値の型ヒントを付けてみましょう。
ナノトイラボ 
