この記事では、最も基本的なPythonの型ヒントについて解説する。
Python型ヒントとは
Pythonは「動的型付け言語」と呼ばれており、変数の型がプログラムの実行時に決定される。
つまり、実行の段階ではどの変数にどの値が入るのか決まっていないのだ。
value = 10 # int型
value = "hello" # str型に再代入可能
しかし、複数の開発者が関わるプロジェクトでは、「この変数には何が入るのか?」「この関数は何を返すのか?」といった疑問が生じやすくなる。
これを解決するために、Python 3.5から「型ヒント」が導入された。型ヒントを活用すれば、コードの品質と開発効率を向上させられる。書籍「ロバスト Python」で詳しく紹介された影響か、最近は、特にこの型ヒントを導入するプロジェクトが多い。
型ヒント導入のメリット
コードの可読性向上
変数や関数の引数、戻り値の型がコード上で明確になり、コードの意図が伝わりやすくなる。「ロバストPython」では、関数での型ヒントの使用を特に強調している。
バグの早期発見
静的解析ツール(例:mypy)と連携することで、プログラムを実行する前に潜在的な型エラーを検出できる。
IDEの強力なサポート
VS CodeなどのIDEが型情報を活用し、より正確なコード補完やリアルタイムの型チェック、誤りの警告を提供し、コードを動かす前に実行時エラーを検出しやすくなる。
value: int = 10 # 型ヒントの例(intであることを指定)
value = 'ABC' # IDE上で警告が表示される(実行はできる)
チーム開発の効率化
コードの意図が明確になるため、チームメンバー間のコミュニケーションが円滑になり、コードレビューの負担が軽減される。
例えば、初見で以下のコードをどう使用するのか正解かすぐにはわからないだろうが、型ヒントを用いたら、どの型の引数を渡したらどういう値が返されるのかすぐにわかるようになる。
value: int = 10 # 型ヒントの例(intであることを指定)
def authenticate_user(credentials, token):
基本的な型ヒントの書き方
変数への型ヒント
変数名の後にコロン(:)と型名を記述し、値を代入すると同時に型ヒントを付与する。
name: str = "Alice" # 文字列型
age: int = 30 # 整数型
price: float = 99.99 # 浮動小数点数型
is_active: bool = True # 真偽値型
print(f"名前: {name}, 年齢: {age}, 価格: {price}, アクティブ: {is_active}")
関数への型ヒント
引数:引数名の後にコロン(:)と型名を記述する。
戻り値:引数リストの閉じ括弧()の後に、ハイフンと大なり記号(->)と型名を記述する。
def greet(name: str) -> str:
"""文字列を受け取り、挨拶の文字列を返す"""
return f"Hello, {name}!"
message = greet("Bob")
print(message) # 出力: Hello, Bob!
実践的な型ヒントの例
実際の開発でよく使われる型ヒントの例を見てみよう。税込価格を計算する関数で型ヒントを活用した場合の書き方だ。
def calculate_tax(price: int, rate: float) -> int:
return int(price * (1 + rate))
print(calculate_tax(1000, 0.1)) # 1100
value: int = calculate_tax(1000, 0.1)
以下のように引数として文字列を渡そうとすると、VSCode上で赤字の警告が表示され、コード修正に役立てることができる。


【Udemy】Python入門講座(0からPythonの基礎を体系的に学んで、生成AIでバイブコーディング)
受講生3000人ほどの人気講座。Pythonの基礎から生成AI活用までを20時間ほどで一気に学びます。業務で活かせるPythonの基礎知識はしっかりと身につきます。