Pythonにおける->(アノテーション)の利用方法について現役エンジニアが解説【初心者向け】

初心者向けにPythonにおける->(アノテーション)の利用方法について現役エンジニアが解説しています。->(アノテーション)とは、関数の引数や返り値の型を明確に記述するためにある機能で、ハイフンと山括弧で表します。Pythonのアノテーションの書き方や使い方について解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonにおける->(アノテーション)の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおける->(アノテーション)の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

この記事では、Pythonにおける->(アノテーション)の使い方について解説していきます。

目次

 

->(アノテーション)とは

Pythonではハイフン”-“と山括弧”>”をもちいて「アノテーション」と呼ばれる仕組みがあります。

これは関数を作る際に、引数や返り値の型を明確に記述するためにある機能です。通常、Pythonにおいて関数を記述する場合、引数と返り値に型名を明確に記述する必要がありません。

これはこれで楽ではあるのですが、自分で書いたコードを他の人に見せたり、他人の書いたコードを解読したりするときには、コメントなどのようにコードに関する情報があったほうが良いです。

そういうわけで、Pythonには、アノテーションという機能が備わっています。この記事で紹介するアノテーション”->”は関数の返り値に関するアノテーションです。

[PR] Pythonで挫折しない学習方法を動画で公開中

->(アノテーション)の使い方

アノテーションの使い方について説明します。先にも言及したように、アノテーションは関数を定義するときに使われることが多いです。

例えば、

def 関数名(引数1, 引数2, ...):
    処理内容

というアノテーションのついていない関数については、

def 関数名(引数1, 引数2, ...) -> "返り値の型名":
    処理内容

のように記述します。ここで追加したアノテーションは処理の内容には影響しないので、エラーの回避等にはならないことには注意してください。

->(アノテーション)を利用して型の注釈を記述してみよう

それでは、Pythonにおける関数の返り値に対するアノテーション->を利用した関数の記述を行なって、その使い方を確認してみましょう。

# 関数の定義(アノテーションなし)
>>>def func1(x, y):
>>>    return x + y

# 上で定義した関数を使ってみる
>>>func1(1,2)
出力: 3

# 関数の定義(アノテーションなし)
>>>def func2(x, y) -> int:
>>>   return x + y

# 上で定義した関数を使ってみる
>>>func2(1,2)
出力: 3

このようにアノテーションの使うことで、関数自身の処理内容には影響しないで、関数に対する注釈を記述することができます。

まとめ

この記事では、Pythonにおける関数の返り値に対するアノテーションの意味と、その使い方について解説しました。コードの共有の際などには非常に役に立つのでぜひ使ってみてください。

監修してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。