FastAPI超入門

概要

FastAPIとは、型ヒントをベースにしたAPIを構築するためのWebフレームワークのことです。

特徴

  • 書き方が直感的で分かりやすい
  • 公式ドキュメントの情報が豊富
  • 自動ドキュメント生成機能がある
  • バリデーション機能の実装が簡単にできる

初心者がPythonでAPI開発するなら、FastAPI一択といっても過言ではありません。

覚えておくべき型ヒント・型アノテーション

型ヒント(Type Hints)は、Python3.5から導入されたもので、JavaやC言語などでは当たり前な型定義をPythonで実装する方法です。

型ヒントが導入されてからは、徐々に型に関する注釈をつけることが増えてきました。このデータ型に関する注釈をつけることを型アノテーションといいます。

これらは、FastAPIでAPI開発を行う時には必ず押さえておかなければいけない部分です。

書き方

下記のコードは、型ヒントを使っていない通常のコードです。

price = 100
tax = 1.1

# 関数を定義する
def calc_price_including_tax(price, tax):
    return int(price * tax)

# type_hints.pyがmainで実行されたら、関数を実行する
if __name__ == '__main__':
    print(f'{calc_price_including_tax(price=price, tax=tax)}円')

そして、上記コードに型ヒント追加したコードが下記です。
変数名の横に型をつけています。基本的には、変数名: 型 = 初期値という風に書きます。

price: int = 100
tax: float = 1.1

# 関数を定義する
def calc_price_including_tax(price: int, tax: float) -> int:
    return int(price * tax)

# type_hints.pyがmainで実行されたら、関数を実行する
if __name__ == '__main__':
    print(f'{calc_price_including_tax(price=price, tax=tax)}円')

関数や関数の返り値にも型をつけることができます。

次は、リストと辞書の型アノテーションの書き方です。
リストの要素と辞書のキーの値に対して型アノテーションを施したい場合は、下記のようになります。

// typingというライブラリからListとDictをインポートする
from typing import List, Dict

sample_list: List[int] = [1 ,2, 3, 4]

// keyとvalueどちらもstring型の場合
sample_dict: Dict[str, str] = {'username': 'taro'}

それぞれList[型]Dict[型]としているだけです。

注意:

型ヒントと型アノテーションは、あくまでも開発する人が書いてる「注釈(説明書き)」にすぎないので、仮に型が間違っていたとしてもエラーは発生しません。

ですが、FastAPIではとても重要なものですので、覚えておきましょう。

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