PR:この記事にはアフィリエイトリンクが含まれます。
PythonでWeb APIを呼ぶ処理では、コードの量より通信の待ち時間が処理全体を左右します。応答を1件ずつ待つと、接続先が増えるほど完了まで時間がかかります。
そこで役立つのがasyncioです。asyncとawaitを使えば、通信の返事を待つあいだに別の処理へ制御を渡せます。とはいえ、何でも速くなる仕組みではありません。
Python asyncioの本を探すと、入門書から並行処理の専門書まで見つかります。Web APIの実務につなげたい人に向けて、扱う範囲と本ごとの特徴を整理しました。
紹介する5冊
掲載範囲は本によってかなり違います。Python全般を扱う総合書、実践的なレシピ集、asyncioの仕組みを掘り下げる本。それぞれの主な内容を見てみましょう。
| 書名 | 主な内容 | 実務につながる範囲 |
|---|---|---|
改訂新版 Pythonエンジニア育成推進協会監修 Python実践レシピ | Python 3.14、asyncio、HTTPX | 非同期HTTPクライアントの実践 |
入門 Python 3 第3版 | Python 3.14、基礎から並行処理まで | Web、API、ネットワーク、DB |
Using Asyncio in Python | コルーチン、Tasks、Futures | aiohttp、asyncpg、Sanicの事例 |
Python Concurrency with asyncio | イベントループ、キャンセル、例外 | REST API、ASGI、DB接続など |
asyncio Recipes: A Problem-Solution Approach | asyncioの周辺機能、テスト、デバッグ | 通信、保守、よくある誤り |
本のページ数や価格に加えて、読み終えたあとに何を理解していたいかも考えたいところです。基礎を復習するのか、API通信を試すのか、失敗時の終了処理まで追うのかで、役立つ章が変わります。
参考価格は『Python実践レシピ』が3,520円(税込)、『入門 Python 3 第3版』が4,620円(税込)です。どちらも公式希望小売価格で、実売価格は時期や販売店によって変わります。購入時に表示額を確認してください。
通信待ちの並行処理
asyncioはネットワークやファイルの入出力待ちが多い処理に合います。Web APIをいくつも呼び出すとき、ひとつの応答を待つあいだにほかの通信を進められます。
たとえば、3つのAPIから商品情報を集めるケース。順番に呼べば応答の待ち時間が積み重なりますが、並行して待つことで全体を短縮できる可能性があります。
ただし、asyncioはCPUを使う計算そのものを速くしません。画像変換や大規模な計算が中心なら、別の方法を検討する必要があります。待ち時間を重ねる仕組みだからです。
ライブラリ側も非同期に対応していることが大切です。async関数の中で同期HTTPクライアントを呼ぶと、応答待ちのあいだイベントループが止まり、並行処理の利点を生かしにくくなります。
asyncioのしくみ
async defで定義した関数は、呼び出しただけでは本体を実行せず、コルーチンを返します。そのコルーチンをawaitしたりタスクに登録したりして、イベントループに実行を任せるのが基本です。
awaitは、処理が結果を待つときにイベントループへ制御を返します。待ち先が未完了の通信なら、そのあいだ別のタスクを進められる。ここが同期コードとの大きな違いですね。
Taskはコルーチンの実行を管理し、Futureはあとから得られる結果を表します。例外やキャンセルを学ぶとき、この用語が分かると説明を追いやすくなります。
プログラムの入口では、通常asyncio.run()からasync関数を動かします。ただし、すでにイベントループが動いている場所では再度呼べません。Webフレームワークでは入口の扱いに気を配りましょう。
Python 3 第3版
『入門 Python 3 第3版』は804ページの総合入門書です。2026年6月発売でPython 3.14に対応し、基本文法からWeb、データベース、ネットワーク、並行処理まで幅広く扱います。
並行処理の章にはasyncio、コルーチン、イベントループが登場します。非同期処理だけを急いで学ぶ構成ではありませんが、Pythonの基礎とWeb APIの背景を一冊でつなげられるのが魅力です。
Pythonを学び始めた人には、この本から進めると基礎を固めやすいでしょう。すでに文法を身につけ、HTTPXで非同期通信を試したい人には、より実践寄りの本が近道になります。
Python実践レシピ
『改訂新版 Pythonエンジニア育成推進協会監修 Python実践レシピ』は2026年3月発売で、592ページあります。Python 3.14に対応し、基本文法を学んだ人が実際にプログラムを書くためのレシピを収録しています。
並行処理の章ではイベントループを使う非同期処理を扱い、Webの入出力では非同期対応HTTPクライアントのHTTPXを紹介。asyncioの考え方からAPI通信へ流れをつなげて学べます。
asyncioに限らず、Pythonの言語機能やライブラリも幅広く扱う一冊です。基礎を終えてWeb APIを含む実用コードへ進みたい人におすすめします。
Using Asyncio
Caleb Hattinghの『Using Asyncio in Python』は163ページ。asyncとawait、コルーチン、イベントループ、Tasks、Futuresをまとめて学べます。対象は初級から中級です。
gather()のreturn_exceptions、シグナル処理、Executorの終了時に待つ方法など、実行中に加えて終了時の話題も収録。aiohttpの基本例やニュースサイトのスクレイピング、asyncpgとSanicの事例もあります。
2020年刊行の本です。掲載コードを現行環境で試す際は、Pythonやライブラリの公式ドキュメントでAPIの差を確かめましょう。まず全体像をつかみ、そのあと新しい環境へ応用する読み方が合います。
Fowlerのasyncio
Matthew Fowlerの『Python Concurrency with asyncio』は376ページで、中級のPython開発者が対象です。コードリポジトリではPython 3.10.2での実行を示しており、並行処理の予備知識がなくても基礎から追えます。
イベントループ、コルーチン、タスク、Future、awaitableから、キャンセルやwait_for()によるタイムアウト、例外処理、正常終了まで扱います。失敗時の流れも腰を据えて学べる構成です。
aiohttpによるWebリクエストやREST APIのほか、ASGI、Starlette、asyncpgによるPostgreSQL接続も登場します。Djangoの非同期ビューやマイクロサービスまで読み進められる、実装範囲の広い本です。
Apressのasyncio
Mohamed Mustapha Tahriouiの『asyncio Recipes: A Problem-Solution Approach』は315ページ。イベントループやコルーチンから、非同期ジェネレーター、非同期コンテキストマネージャーまで範囲を広げています。
ネットワークプロトコルやコンポーネント間の通信と同期に加え、エラー処理、テスト、デバッグ、よくあるasyncioの誤りも扱います。実装と保守の視点を深めたい経験者におすすめです。
2019年刊行なので、現在のPythonでコードを試す際は周辺ライブラリの現行仕様と照らして読みましょう。イベントループの考え方を掘り下げ、問題ごとの手がかりを得たいときに役立ちます。
結論
Pythonの基礎から始めるなら『入門 Python 3 第3版』。基礎を終えてWeb APIを試すなら、HTTPXとPython 3.14を扱う『Python実践レシピ』がおすすめです。学びたい範囲に合わせて最初の一冊を決められます。
非同期APIを実務で設計し、キャンセルやタイムアウトまで追う人には『Python Concurrency with asyncio』をおすすめします。短い解説で構成要素を整理するなら『Using Asyncio in Python』、テストやデバッグまで掘るなら『asyncio Recipes』です。
Web APIの実装が目的で一冊に決めるなら、『改訂新版 Pythonエンジニア育成推進協会監修 Python実践レシピ』をおすすめします。 HTTPXとasyncioを実装につなげやすく、Python 3.14対応の内容が実務に直結します。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。






