関数アノテーション(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)を用いないセル(コード)を実行してみると、空の辞書”{}”が出力されることを確認しました。
コメント