概要
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ではとても重要なものですので、覚えておきましょう。