Python と Java の Annotation の違い2025年02月02日 16時25分43秒

Java と Python には Annotation と言われるものがある。関数の前に@ を付けた単語がそれだ。@Override@Testなどが良く見るだろう。

表記は同じだが、Java と Python の動作が全く違う。両方共言語内のサポート。Python の方が便利。

Java の Annotation は Reflection を用いてプログラム的に読み出せる付加情報程度。Java コンパイラはコンパイル中に @Deprecated を読み、警告を出す程度。Junit や Spring Framework 等は, この Annotation を読み、あれこれと処理を埋め込む。

Python の Annotation は付けた関数の前処理と後処理を記述出来る。

Python 型の方が一般的なプログラムには使い勝手が良いだろう。