【Python 入門】関数⑨ アノテーション

今回も引き続き、関数に説明を添える方法の一つであるアノテーションについて解説いたします。

アノテーションとは

アノテーションとは日本語で注釈という意味で各種言語では変数などにタグを付け加えるための役割を持つものです。Pythonでは関数の引数および戻り値に情報を付け加えることができます。アノテーションに記載する内容ですが、普通の文字列等も記載できますが基本的にはデータ型をアノテーションに記載して、引数でどの型を想定しているかというのを記載するのが一般的です。

アノテーションの書き方

アノテーションは関数の定義の際に記載するものですが、引数のアノテーションと戻り値のアノテーションがありますのでそれぞれ確認します。

引数のアノテーション

引数のアノテーションは引数の後ろに : (コロン)をつけてそこにアノテーションの内容を記載します具体的には以下の通りです。

def 関数名 ( 引数 1 : int , 引数2 : str) :

戻り値のアノテーション

戻り値のアノテーションは引数の定義領域の後ろ、最後の : (コロン) の前に “->をつけてそこにアノテーションの内容を記載します。具体的には以下の通りです。

def 関数名 ( 引数 1 , 引数2) -> int :

アノテーションは記載方法を記述するものなのでなくてもエラーになりません。また、一部の引数だけアノテーションを記載して一部の引数は記載しない、引数は記載せず戻り値のアノテーションだけつけるといったことも可能です。また、アノテーションを付与することで型チェックをしてくれるといったものでもありません。ただ、わかりやすくするだけです。

そのため、あってもなくても良いですがなるべく記載したほうが親切ではあると思います。

一点注意点としてはPython3.6以前では使えないようですので、バージョンには注意しなくてはなりません。開発環境でアノテーションありで実装したけど本番環境がPython3.5以前の環境だった!なんてことになったら関数の定義全部直さなきゃいけません。他の言語でもそうですが、Pythonは特に注意しましょう。

アノテーションありの関数の例

最後にアノテーションを使った関数を確認しましょう。

アノテーションをつけて、さらに前回説明したdocstringをつけてみました。アノテーションまでつけるならdocstringもつけるのが締まりがいい気がするので両方つけるのを心がけるとよいかもしれません。

内容はラムダ式を使用した関数です。ラムダ式だと構文を覚えていないと何しているか一見してわからなくなりがちなので、それぞれ説明をつけて呼び出す際にわかりやすいようにしました。実際上の関数を見てなんだかわからない場合はラムダ式の内容を見直してみてください。ほとんど同じコードです。

あわせて読みたい
【Python 入門】関数⑦-2 ラムダ式を利用した高階関数 前回の内容ではラムダ式な簡単な扱い方について解説いたしました。今回はラムダ式を使って関数そのものを関数の引数として扱う方法について解説いたします。関数を引数...

なおColabで上記の関数の呼び出しにマウスオーバーすると以下のようになります。

Colabではアノテーションの内容を表示しているだけですが、使用するIDEによっては予測変換に使われたりするようですので、環境によってはより便利に感じるかもしれません。

今回はここまでです。

お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる