Python 実践入門 ── 言語の力を引き出し、開発効率を高める

パイソンジッセンニュウモン ゲンゴノチカラヲヒキダシ カイハツコウリツヲタカメル

Python 実践入門 ── 言語の力を引き出し、開発効率を高めるの表紙
インターネット / WEB デザイン
著者:
陶山 嶺(スヤマ レイ)
出版社:
技術評論社
出版日:
2020年01月24日頃
ISBN:
9784297111113
在庫:
在庫あり
4.25(4 件 / 楽天ブックス)
中級者向け
Python実務効率化標準ライブラリ汎用プログラミングコードレビュー開発効率Python 実践プログラミング入門言語仕様Python 機能

なぜ注目されているか

総合1910位

書籍紹介

Python はここ数年で日本語の書籍も増え、開発現場での利用実績も着実に増えてきています。ご自身の第二、第三の言語の選択肢として Python が気になっているという方も多いのではないでしょうか。また、「Python を始めてみたけど、実際に業務で利用するには不安が残る」「コードレビューに怯えながら Python を書いている」という方も多いのではないでしょうか。
本書は、そういった方を対象に、Python という言語が持つ機能の実践的な使い方を紹介します。Python は、日常的なツールから Web 開発、データ分析、機械学習など分野を問わず利用できる汎用性の高い言語です。本書も同じく、Python という言語の仕様やその特徴的な機能、標準ライブラリでできることを中心に扱うため、分野を問わず活用していただけます。

技書の森解説

『Python 実践入門 ── 言語の力を引き出し、開発効率を高める』 (陶山嶺 著、技術評論社、2020 年 1 月刊) は、Python という言語の仕様と特徴的な機能、標準ライブラリでできることを中心に、実践的な使い方を解説する技術書です。WEB+DB PRESS plus シリーズの 1 冊で、版元の書籍ページは勧める相手に、プログラミングの心得はあるが Python の経験はない人と、Python の実践的な書き方を知りたい人を挙げています。紹介文は、Python を業務で使うには不安が残る人や、コードレビューに怯えながら Python を書いている人を想定した書き出しで、特定の分野のフレームワークではなく言語そのものを扱うため分野を問わず使える、としています。

全 13 章、言語の成り立ちからアプリケーション開発まで

版元の目次は、第 1 章「Python はどのような言語か」から始まり、第 2 章「Python のインストールと開発者向けの便利な機能」、第 3 章「制御フロー」、第 4 章「データ構造」、第 5 章「関数」、第 6 章「クラスとインスタンス」、第 7 章「モジュールとパッケージ、名前空間とスコープ」、第 8 章「組み込み関数と特殊メソッド」、第 9 章「Python 特有のさまざまな機能」、第 10 章「並行処理」、第 11 章「開発環境とパッケージの管理」、第 12 章「ユニットテスト」と進み、第 13 章「実践的な Python アプリケーションの開発」で終わります。第 1 章は言語の特徴とコミュニティを扱い、PEP 8、PEP 20、PEP 257 の 3 つの PEP を取り上げます。第 5 章には型ヒントと静的解析ツールの利用の節があり、第 11 章は venv による仮想環境、pip と PyPI、requirements ファイルによる環境の保存と再現、setup.py によるパッケージの作成と PyPI への登録を扱います。第 12 章は標準の unittest と unittest.mock を使ったテストです。

特殊メソッドが支えるジェネレーター、デコレーター、デスクリプタ

Python らしい書き方の多くは、言語が決めた約束事 (プロトコル) にオブジェクトが従うことで、for 文や with 文、属性アクセスといった構文がそのオブジェクトに対して働く仕組みにあります。for 文はオブジェクトの __iter__() と __next__() を呼び、with 文は __enter__() と __exit__() を呼びます。第 8 章はこうした特殊メソッドを、文字列での表現、真理値での評価、属性への動的なアクセス、イテラブルやコンテナとしての振る舞いに分けて扱い、第 9 章はその上に立つジェネレーター、デコレーター、コンテキストマネージャー、デスクリプタの 4 つを、具体例と実装、実例 (ファイルの内容の変換、処理時間の計測、一時的なログレベルの変更、プロパティのキャッシュ) の順に取り上げます。functools.lru_cache () や dataclasses.dataclass () のような標準ライブラリのデコレーターも、この章の具体例に入っています。

第 10 章の並行処理と第 13 章の LGTM 画像ツール

第 10 章は、逐次処理、並行処理、並列処理の違いの整理から入り、concurrent.futures の ThreadPoolExecutor と ProcessPoolExecutor、asyncio のコルーチンとイベントループ、タスク、非同期 I/O、HTTP 通信のための aiohttp までを扱います。標準の CPython ではグローバルインタプリタロックにより、Python のバイトコードを同時に実行するスレッドは 1 つに限られるため、I/O 待ちの多い処理はスレッドや 非同期プログラミング で、計算の重い処理はプロセスで並べる、という使い分けが生じます。章の中には、マルチスレッドの注意点としてスレッドセーフな実装の項目が、マルチプロセスの注意点として pickle 化できるオブジェクトの項目があります。第 13 章は、LGTM 画像を自動生成するコマンドラインツールを題材に、requests、Click、Pillow を使い、Git と GitHub でのソースコード管理、CircleCI によるテストの自動化、setup.py の entry_points によるコマンドとしての実行までを通して組み立てます。

刊行の時期と著者、Python 2 の終了

Python ソフトウェア財団は 2020 年 1 月 1 日を Python 2 の終了日とし、それ以降はセキュリティの問題が見つかっても改善しないと案内しています。本書の発売日は 2020 年 1 月 24 日で、第 1 章の歴史の節には「Python 3 系への移行」の項目があり、第 4 章には Python 2 系と Python 3 系の文字列の違いを扱う項目があります。刊行時の著者紹介によれば、陶山嶺は広島大学大学院の情報工学専攻の修士課程を修了し、PyCon JP 2016 からスタッフやスピーカーとして参加しています。Python の本全般については Python 本の選び方 の記事がまとめています。本書は、Python の言語仕様と標準ライブラリの使い方を、制御フローから並行処理、パッケージの作成、ユニットテスト、コマンドラインツールの開発までの全 13 章に収めています。

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: