関数アノテーション(Function Annotation)へアクセスする方法

スポンサーリンク

関数アノテーション(Function Annotation)へアクセスする方法について解説しています。

関数アノテーション(Function Annotation)へアクセスする場合は、__annotations__ 属性で、キーと値が、それぞれ引数,パラメータとアノテーションに接続された状態で、辞書の形式で結果を返します。

■Python

Google Colaboratory(Google Colab),2023年1月20日時点ではPython 3.8.10が用いられる。

■__annotations__ 属性を用いて関数アノテーション(Function Annotation)へアクセスする

では、実際に__annotations__ 属性を用いて関数アノテーション(Function Annotation)へアクセスしてみます。

■コード

def func(num1: int, num2: int=5) -> int :
    return num1 + num2

print(func.__annotations__)

今回はdef文を用いてfuncという関数を定義します。括弧内にはnum1とnum2という引数,パラメータを設定しますが、この際に関数アノテーション(Function Annotation)を用いて引数,パラメータには「int(整数を値として格納する変数のタイプ)」を記述します。そして、関数の戻り値の型についても、「int(整数を値として格納する変数のタイプ)」を記述します。

なお、funcという関数を呼び出して実行される処理は、num1とnum2を算術演算子”+(プラス,加算)”を用いて演算するというものになり、returnとしてその結果を返します。

関数を定義後、funcに対して”.”(ドット)を用いて__annotations__ 属性を用います。これで、関数アノテーション(Function Annotation)へアクセスでき引数,パラメータや戻り値に接続された説明を出力させることができます。

■実行・検証

では、このセル(コード)を実行してみます。

実行してみると、辞書の形式で今回関数を定義し設定した引数,パラメータや戻り値に接続された説明を出力させることができました。

関数アノテーション(Function Annotation)を用いない場合

出力後、関数アノテーション(Function Annotation)を用いない場合に__annotations__ 属性を用いるとどうなるかもやってみます。

関数アノテーション(Function Annotation)を用いないセル(コード)を実行してみると、空の辞書”{}”が出力されることを確認しました。

コメント

タイトルとURLをコピーしました