📝 はじめに
Python は「動的型付け言語」と呼ばれ、変数や関数に型を宣言しなくても動くのが特徴です。
しかし、最近の Python では 型ヒント(type hints) を書く習慣が広まりました。
この記事では、型ヒントの基本を初心者向けに整理します。
「型ヒントってなに?」「どう書けばいいの?」という疑問を解決しましょう。
1. 型ヒントとは?
型ヒントとは「この変数や関数はこういう型を使う予定だよ」と人間やツールに伝える目印です。
例:
def add(a: int, b: int) -> int:
return a + b
a: int
→ 引数a
は整数を想定b: int
→ 引数b
も整数を想定-> int
→ 戻り値も整数を想定
👉 Python 自体は型チェックを強制しません。
👉 でもエディタやツール(例: mypy
, PyCharm, VSCode IntelliSense)がチェックしてくれるので バグの早期発見につながります。
2. 変数に型ヒントを書く
name: str = "Alice"
age: int = 30
pi: float = 3.14
is_valid: bool = True
str
→ 文字列int
→ 整数float
→ 浮動小数点数bool
→ True / False
👉 変数に型ヒントを書くと、後でコードを読むときに 「この変数は何のためのもの?」 がわかりやすくなります。
3. リストや辞書の型ヒント
Python 3.9 以降は list
, dict
などをそのまま書けます。
numbers: list[int] = [1, 2, 3]
user: dict[str, int] = {"Alice": 20, "Bob": 25}
古い書き方(Python 3.8 以前)では List[int]
, Dict[str, int]
を typing
モジュールからインポートしていました。
4. 関数の型ヒント
関数は 引数 と 戻り値 の型を指定できます。
from typing import List
def average(nums: List[float]) -> float:
return sum(nums) / len(nums)
nums: List[float]
→ 浮動小数点のリストを受け取る-> float
→ 戻り値は浮動小数点
👉 関数の使い方が一目でわかるので、チーム開発でも読みやすいコードになります。
5. 複数の戻り値(タプル)の型ヒント
Python の関数は複数の値を返せます。そのときは tuple
を使います。
from typing import Tuple
def divide(a: int, b: int) -> Tuple[int, int]:
q = a // b
r = a % b
return q, r
- 戻り値は
(商, 余り)
のタプル - 型ヒント
Tuple[int, int]
で「整数が2つ入ったタプル」を表現
6. 型ヒントと実際の値が違ったら?
def add(a: int, b: int) -> int:
return str(a + b) # 本当は文字列を返してる
Python はエラーにしません。
でも型チェッカー (mypy
) を使うと警告が出ます。
👉 型ヒントは“強制”ではなく“補助”。
👉 実行速度には影響しません。
7. 型ヒントのメリットまとめ
- コードの意図が伝わる(可読性アップ)
- エディタが補完してくれる(生産性アップ)
- ツールで静的チェック可能(バグ減少)
- ドキュメント代わりになる(他人に優しいコード)
✅ まとめ
- Python は型を強制しないけど、型ヒントを書くと便利
変数: 型
で変数、def func(arg: 型) -> 戻り値の型:
で関数- 実行速度には影響しないけど、エディタやツールが助けてくれる
これから書くコードには、ぜひ少しずつ型ヒントを取り入れてみましょう!