Tocyukiのブログ

ギターと柔術とプログラミングが好き!

PythonのTypeHints ~型アノテーション~

なんじゃこりゃ?

CheckIOを始めてみたらいきなりよくわからない表記が・・・。

py.checkio.org

def correct_sentence(text: str) -> str:
    """
        returns a corrected sentence which starts with a capital letter
        and ends with a dot.
    """
    # your code here
    return text

(text: str) -> strってなんなんでしょうか?(怒)

というわけで調べてみたところ、Python3.5から導入されたTypeHintsという機能のようです。

www.python.org

TypeHintsってなんぞやというところですがようするに型について注釈をつけられる(型アノテーションということのようです。

ちなみにアノテーションとはあるデータに対して関連する情報(メタデータ)を注釈として付与することを指します。 アノテーション - Wikipedia

コード解説

TypeHintsの仕様に従って上述のコードでアノテーションを実際に行っているのは以下の部分になります。

  • text: str: 引数textが、str型であることをアノテート
  • -> str: 関数correct_sentenceの返り値の型がstrであることをアノテート

つまり、

  • 引数の型はstr型だよ
  • 関数の返り値はstr型だよ

ということですね!

参考

qiita.com