Python入門:型ヒント(type hints)の基本まとめ

テクニック

📝 はじめに

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: 型) -> 戻り値の型: で関数
  • 実行速度には影響しないけど、エディタやツールが助けてくれる

これから書くコードには、ぜひ少しずつ型ヒントを取り入れてみましょう!

タイトルとURLをコピーしました