0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Python]型ヒント

Posted at

型ヒント

Pythonの型ヒント(type hints)は、Python 3.5以降で導入された機能であり、静的型チェックやコードの可読性を向上させるために使われます。型ヒントは、特定の変数や関数の引数、戻り値に対して、期待されるデータ型を示すアノテーションのような形で書きます。

型ヒントの基本的な使い方

Pythonでは、変数や関数の引数、戻り値に対して型ヒントを以下のように記述します:

def greet(name: str) -> str:
    return f"Hello, {name}"

age: int = 25
  • name: strgreet関数の引数nameが文字列型 (str) であることを示しています。
  • -> strgreet関数が文字列型 (str) を返すことを示しています。
  • age: int = 25ageという変数が整数型 (int) であり、初期値として25を持つことを示しています。

型ヒントの利点

  1. 静的型チェック

    • Pythonの静的型チェッカー(例えば、mypyなど)を使用することで、コードの中で型ヒントが正しいかどうかを事前に確認できます。これにより、ランタイムエラーを減らし、安全性を向上させることができます。
  2. ドキュメントとしての役割

    • 型ヒントは、コードの可読性を向上させる役割も果たします。特に大規模なプロジェクトやチームで協力する際に、関数やメソッドの引数や戻り値がどのようなデータ型であるかが明確になり、コードの理解が容易になります。
  3. IDEの補完機能のサポート

    • 多くの統合開発環境(IDE)やエディタは、型ヒントを利用してコードの補完機能を強化します。これにより、メソッドや関数の利用方法を効率的に確認することができます。

型ヒントの書き方

Pythonでの基本的な型ヒントは以下の通りです:

  • 基本型

    • int, float, bool, str などの組み込み型を使用します。
  • コンテナ型

    • List[str], Tuple[int, int, str], Dict[str, int] などのリストやタプル、辞書などのコンテナ型に対しても型ヒントを記述できます。
  • 任意の型

    • Any型を使用することで、任意の型を受け入れることができます。
  • ユーザ定義型

    • 自分で定義したクラスやdataclassなどに対しても型ヒントを使用することができます。

型ヒントの例

from typing import List, Tuple

def process_numbers(numbers: List[int]) -> Tuple[int, int]:
    total = sum(numbers)
    average = total / len(numbers)
    return total, average

この例では、process_numbers関数が整数のリスト (List[int]) を受け取り、整数のタプル (Tuple[int, int]) を返すことが期待されています。

型ヒントとデフォルト値

関数やメソッドの引数にデフォルト値を持たせる場合、型ヒントは以下のように指定します:

def greet(name: str = "World") -> str:
    return f"Hello, {name}"

型ヒントとオプショナルな引数

引数がオプショナル(Noneを許容する)場合には、Optionalを使います:

from typing import Optional

def maybe_greet(name: Optional[str]) -> str:
    if name:
        return f"Hello, {name}"
    else:
        return "Hello"

型ヒントの注意点

  • ランタイムへの影響はない

    • 型ヒントは、Pythonのランタイムに影響を与えないため、静的型チェッカーを使用しない限り、エラーにはなりません。
  • 柔軟性と適用範囲

    • 型ヒントは推奨事項であり、強制されるものではありません。そのため、必要に応じて使い分けることができます。

Pythonの型ヒントは、特に大規模なプロジェクトや共同開発環境でコードの品質と可読性を向上させるのに役立つ重要なツールです。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?