パーフェクトシリーズパーフェクトPython
[改訂2版]

[表紙]パーフェクトPython[改訂2版]

紙版発売
電子版発売

B5変形判/544ページ

定価3,608円(本体3,280円+税10%)

ISBN 978-4-297-11223-3

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

「パーフェクトPython」の改訂版。前版はPython 3.2/3.3系をベースに構成されていたこともあり,最新のバージョン(Python 3.8)に変更に加え,新たに型ヒントやasynioによるコルーチンを利用したプログラミングの解説,Webクローリング・スクレイピングのライブラリなども紹介をしています。Pythonの言語仕様や思想,実際に直面する問題の解決から幅広いサードパーティ製のライブラリまでこれ一冊でPythonの知識が身に付きます。

こんな方におすすめ

  • 最新のPython 3.8の情報が知りたい人
  • Pythonでロジックは書くことができるが,もう一歩踏み出したい人

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

目次

Part 1 Python~overview
1章 Pythonの概要

  • 1-1 Python 3と本書
  • 1-2 Pythonがどのように使われてきたか
  • 1-3 特徴
  • 1-4 Pythonの禅
  • 1-5 Pythonを使う準備

Part 2 言語仕様
2章 Pythonの基本

  • 2-1 インデント(ブロック)
  • 2-2 入出力
  • 2-3 コメント
  • 2-4 ドキュメンテーション文字列とオンラインヘルプ
  • 2-5 識別子(名前)
  • 2-6 変数
  • 2-7 予約語
  • 2-8 デバッグ・トレースバック
  • 2-9 メモリー管理

3章 型とリテラル

  • 3-1 オブジェクトについて
  • 3-2 論理型
  • 3-3 数値型
  • 3-4 シーケンス(Sequence)
  • 3-5 set(セット)
  • 3-6 辞書型(Dictionaries)
  • 3-7 None型
  • 3-8 列挙型(Enum)

4章 制御構文

  • 4-1 条件文
  • 4-2 比較演算子
  • 4-3 ループ
  • 4-4 リスト内包表記
  • 4-5 その他の内包表記
  • 4-6 例外処理
  • 4-7 with
  • 4-8 代入式

5章 関数

  • 5-1 関数の定義
  • 5-2 引数の指定
  • 5-3 デフォルト引数
  • 5-4 可変長引数
  • 5-5 return文
  • 5-6 global宣言
  • 5-7 nonlocal宣言
  • 5-8 ジェネレータ関数
  • 5-9 コルーチン
  • 5-10 高階関数とlambda式
  • 5-11 関数デコレータ
  • 5-12 ドキュメンテーション文字列
  • 5-13 関数アノテーション

6章 クラス

  • 6-1 クラスの定義
  • 6-2 クラスオブジェクト
  • 6-3 メソッド
  • 6-4 イニシャライザ(コンストラクタ)
  • 6-5 ファイナライザ(デストラクタ)
  • 6-6 インスタンスアロケータ
  • 6-7 継承
  • 6-8 多重継承
  • 6-9 特殊メソッド
  • 6-10 プライベートメンバー
  • 6-11 ディスクリプタ
  • 6-12 コンテキストマネージャー
  • 6-13 プロパティ
  • 6-14 クラスメソッド
  • 6-15 クラスデコレータとメタクラス
  • 6-16 抽象基底クラス
  • 6-17 クラス生成時の簡易なカスタマイズ

7章 モジュールとパッケージ

  • 7-1 モジュール
  • 7-2 モジュールのインポート
  • 7-3 モジュールの検索パス
  • 7-4 モジュールの構成
  • 7-5 パッケージ
  • 7-6 名前空間パッケージ
  • 7-7 モジュールオブジェクト
  • 7-8 モジュールの実行 197

8章 型ヒント

  • 8-1 型ヒントとは
  • 8-2 変数アノテーション
  • 8-3 typingモジュール
  • 8-4 アノテーションの遅延評価
  • 8-5 スタブファイル
  • 8-6 サードパーティの型ヒント情報の配布方法

9章 拡張モジュールと組み込み

  • 9-1 拡張モジュール
  • 9-2 拡張モジュールのビルド
  • 9-3 例外処理
  • 9-4 Global Interpreter Lock(GIL)
  • 9-5 組み込み型の定義
  • 9-6 アプリケーションにPythonを組み込む

10章 標準ライブラリ

  • 10-1 sys
  • 10-2 os
  • 10-3 site
  • 10-4 venv(仮想環境)
  • 10-5 atexit
  • 10-6 builtins
  • 10-7 pdb

Part 3 実践的な開発
11章 コマンドラインユーティリティ

  • 11-1 Pythonでのファイルの取り扱いと文字コード
  • 11-2 文字列のフォーマット
  • 11-3 さらにテキストファイルを極める
  • 11-4 Pythonオブジェクトでデータ処理
  • 11-5 コマンドラインアプリケーションとコマンドライン引数
  • 11-6 TODOリストアプリケーション
  • 11-7 まとめ

12章 チャットサーバー

  • 12-1 asyncio入門
  • 12-2 aiohttp入門
  • 12-3 websocketサーバー
  • 12-4 websocketを利用したechoサーバー
  • 12-5 websocketクライアント
  • 12-6 echoサーバーをチャットサーバーにする
  • 12-7 PyQt入門
  • 12-8 PyQtでwebsocketクライアント
  • 12-9 WebSocketの操作にUIをつける
  • 12-10 まとめ

13章 アプリケーション/ライブラリの配布

  • 13-1 配布のための準備
  • 13-2 実際の配布物を作成する
  • 13-3 まとめ

14章 テスト

  • 14-1 Pythonのテストツール
  • 14-2 ユニットテスト(unittest)
  • 14-3 doctest
  • 14-4 モック
  • 14-5 実践テスト
  • 14-6 まとめ

15章 Webプログラミング

  • 15-1 Web Server Gateway Interface(WSGI)
  • 15-2 WSGIアプリケーションで役立つ外部ライブラリ
  • 15-3 Wikiアプリケーションを作る
  • 15-4 Webアプリケーションのテスト
  • 15-5 まとめ

Part 4 外部ライブラリ
16章 学術/分析系ライブラリ

  • 16-1 statistics
  • 16-2 NumPy
  • 16-3 SciPy
  • 16-4 Matplotlib
  • 16-5 NetworkX

17章 実践データ収集・分析

  • 17-1 Scrapy
  • 17-2 クローリング
  • 17-3 スクレーピング

18章 マルチメディア

  • 18-1 イメージ(pypng)
  • 18-2 サウンド(stagger)
  • 18-3 3D CG(Blender)
  • 18-4 ゲーム(pygame)

19章 ネットワーク

  • 19-1 HTTPクライアント(requests)
  • 19-2 HTML/XMLパージング(lxml)
  • 19-3 HTML/XMLパージング(Beautiful Soup 4)
  • 19-4 RSS/Atomパージング(feedparser)
  • 19-5 チャット(slackclient)
  • 19-6 チャット(irc)

20章 データストア

  • 20-1 KeyValueStore
  • 20-2 DBドライバ
  • 20-3 ORマッパ
  • 20-4 タスクキュー
  • 20-5 シリアライズ

21章 運用/監視

  • 21-1 運用(InvokeとFabric)
  • 21-2 監視(PySNMP)
  • 21-3 ドキュメンテーション(Sphinx)

Appendix
Appendix A 環境構築

  • A-1 Python 3
  • A-2 仮想環境の準備
  • A-3 IPython
  • A-4 Scrapy

Appendix B 標準ライブラリ

  • B-1 sys
  • B-2 sysconfig
  • B-3 os

著者プロフィール

露木誠(つゆきまこと)

Python,Java,Perl,Rubyなどのプログラミング言語を用いてB向けC向けを問わずさまざまな開発に従事,現在は株式会社ディー・エヌ・エーに勤務。
著書に「開発のプロが教える標準Django完全解説(アスキー・メディアワークス)」「Django×Python (LLフレームワークBOOKS)(技術評論社)」などがある。鎌倉在住
Twitter:@everes


小田切篤(おだぎりあつし)

株式会社ビープラウドを経て2016年に株式会社オープンコレクターに転職。
主にPythonを利用したWebアプリケーション開発に携わる。
利用フレームワークはDjango, Pyramidなど。


大谷弘喜(おおたにひろき)

2001年,アリエル・ネットワーク株式会社設立に参加し,P2P技術に携わる。その後,ユーザが独自に機能拡張可能なグループウェアの設計・開発を主導する。2017年株式会社ビズリーチに入社。