【Python初心者向け】文系でもわかる型ヒント入門!Literal型やOptionalもやさしく解説

Pythonを書いているとき、こんな風に思ったことはありませんか?

この変数って何が入るんだっけ…?
関数の戻り値、文字列だったっけ数値だったっけ…?

Pythonは柔軟な言語ですが、柔軟すぎて時にバグの温床になることも。。

そんなときに役立つのが「型ヒント(type hints)」という機能です。

この記事では、文系出身のプログラマーやPython初学者向けに、やさしく型ヒントの基本と応用、そして Literal 型などの便利な書き方を紹介します。

この記事は広告を含みます。

LeCielBleuClair


型ヒントってなに?

Pythonでは、変数や関数に対して「これはこういう型だよ〜」とヒントを書くことができます。

def greet(name: str) -> str:
    return f"Hello, {name}!"
  • name: str → 引数nameは文字列
  • -> str → 戻り値も文字列

こんな風に書いておくと、コードの意図がすごくわかりやすくなります。


基本の型ヒント一覧

  • よく使う型一覧
  • int:整数
  • float:小数
  • str:文字列
  • bool:真偽値
  • list[str]:文字列のリスト
  • dict[str, int]:文字列キー+整数値の辞書

文系向け:型ヒントのうれしい効果

  • 読みやすさUP:意図がすぐわかる
  • バグ予防:mypyなどのツールでエラー検出できる
  • エディタ補助:補完やサジェストが賢くなる

コードを書き慣れてない人ほど、型ヒントの恩恵は大きいです!


より便利な型ヒントたち

Optional型:値が「あるかないか」

from typing import Optional

def find_user(id: int) -> Optional[str]:
    if id == 1:
        return "Alice"
    return None

Optional[str] は、「文字列 or None」を意味します。


Union型:複数の型を許す

from typing import Union

def to_str(value: Union[int, float]) -> str:
    return str(value)

Union[int, float] → 整数でも小数でもOK!


Literal型:特定の値だけ許す!

from typing import Literal

def get_status(status: Literal["ok", "error"]) -> str:
    if status == "ok":
        return "成功!"
    else:
        return "失敗。。"

これ、API作成の時に重宝しますよね。

  • Literalのポイント
  • 指定した値以外はNGにできる
  • 列挙型より軽く使える
  • コードの意図が明確になる

まとめ:型ヒントは文系プログラマーの味方!

「型ってムズカしそう…」と思ってた方こそ、実は型ヒントが心強い味方になります。。!

最初は慣れなくても、少しずつ書いてみると
コードの見通しが良くなって、エラーにも強くなるはずです!

実行しなくても文章を読むだけで、これあれだねぇ~がわかるのは、品質向上に一役となるはずです!Reviewer目線でも。