タイプヒンティングとは、コードに渡す値(引数)や返り値の種類(型)を指示するものです。
料理の準備をしているとき、友人に食材を買ってきてくれるよう頼んだとします。
単純に「キノコを持ってきて」と言う代わりに、「シイタケを持ってきて」と言うほうが親切です。その具体的な詳細は、あなたがどの種類のキノコが欲しいかを示すヒントとして機能し、友人にとって明確なイメージに役立ちます。
プログラミングにも似たような概念があります。
タイプヒンティングは、コードの一部が期待したり返したりするデータの種類(または「型」)について示唆を与えます。コードを読んだり使ったりする人に、どのようなデータを扱うべきかのヒントを与えるようなものです。
重要なのは、タイプヒンティングは多くの場合、特定の種類のデータを強制するものではなく、開発者を導くものであるということです。
タイプヒンティングなし
上のコードではa
とb
を足していることは明らかですが、a
とb
が数字なのか文字列なのか、あるいはそれ以外の何かなのかは、見ただけではわかりません。
タイプヒンティングあり
ここで、タイプヒンティング(: int
)は、a
もb
も整数であるべきであり、関数は整数(-> int
)を返すべきであることを示唆しています。これにより、この関数を読んだり使ったりする人は、どのようなデータを提供し期待すればよいかが明確になります。
しかし、Pythonを含め多くの言語では、これらのヒントは単なるヒントでしかありません。
他のデータ型を使うことを強制的に止められるわけではありません。しかし、開発者がエラーを回避したり、コードをチェックしたり分析したりするツールが有益なフィードバックを提供することに役立ちます。
要するに、プログラミングにおけるタイプヒンティングは、食材のラベルのようなものです。