目次
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