8章関数での型ヒント
「Pythonはこれからも動的に型付けされる言語であり続けます。我々は型ヒントを強制するつもりはなく、型ヒントを慣習化するようなこともありません」ということを強調しておきたいと思います。
—— Guido van Rossum、Jukka Lehtosalo、Łukasz Langa
『PEP 484——Type Hints』†1
[†1] 『PEP 484——Type Hints』(https://fpy.li/8-1)の『Rationale and Goals』の節から引用しました。太字は原文のまま。
2001年にPython 2.2で型とクラスが統一(https://fpy.li/descr101)されて以来の大きな変更が、この章で解説する型ヒントです。ただし、すべてのPythonユーザーが等しくそのメリットを享受できるわけではありません。型ヒントが必須ではないのはこのためです。
『PEP 484——Type Hints』(https://fpy.li/pep484)で、関数の引数や戻り値、変数について明示的な型宣言を行うための構文とその意味が定義されています。開発者ツールが静的解析を通じて(つまり、実際にコードを実行してテストしなくても)バグを発見しやすくすることが目的です。
主に恩恵を受けるのは、IDE(統合開発環境)やCI(継続的インテグレーション)を行うプロのソフトウェアエンジニアです。このグループの人々にとっては魅力的ですが、このメリットはすべてのPythonユーザーに当てはまるわけではありません。
むしろ、Pythonユーザーの大多数を占めるのは、このグループ以外の人々です。科学者、トレーダー、アーティスト、職人、アナリスト、さまざまな分野の学生、その他大勢の人々がいます。彼らのほとんどにとっては、(すでに静的型付けや派生型、ジェネリクスといった概念を持つ言語に慣れ親しんでいるのでもなければ)型ヒントを学ぶコストは高いでしょう。また、多くのチームではコードの規模はささほど大きくなく、構成メンバーも少数あるいは1人だけです。このようなチームに型ヒントを導入するメリットはあまり大きくありません。データサイエンスや創作活動、学習などで、データあるいはアイデアの探求のためにコードを書くという場合には、Pythonでのデフォルトである動的型付けを活用するほうが表現力が高くシンプルです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access