実践 Python 3

2014年米国Joltアワード受賞書、待望の邦訳!

このような方におすすめ

中級以上のPythonプログラマー、プログラミング経験者、教職員、大学生、ハッカー
  • 著者Mark Summerfield/斎藤 康毅
  • 定価3,740 (本体3,400 円+税)
  • A5 384頁 2015/11発行
  • ISBN978-4-87311-739-3
  • 定価
  • ポイント0
  • 数量

※本体価格は変更される場合があります。
※通常2〜3営業日以内で発送いたします。
※取寄が可能な場合もございますのでお問合せください。

  • 概要
  • 主要目次
  • 詳細目次

仕事や研究で役立つ実践的な側面を重視し、一般的なプログラミングのベストプラクティスをPythonに適用する方法について解説します。主なテーマは、エレガントなコーディングのためのデザインパターン、処理速度向上のための並列処理とCython、ハイレベルなネットワーク処理、そしてグラフィックスです。読者対象は中級以上のPythonプログラマー。実践的なベストプラクティスを示し、巷で囁かれてきた「デザインパターンはPythonには不向き」「Pythonはマルチコアの恩恵を受けられない」といった認識が間違いであり、迷信にすぎなかったことを明らかにします。2014年米国Joltアワード受賞書、待望の邦訳。

https://www.ohmsha.co.jp/book/9784873117393/

    
訳者まえがき
まえがき

1章 生成に関するデザインパターン
1.1 Abstract Factoryパターン
1.1.1 古典的なAbstract Factory
1.1.2 パイソニックなAbstract Factory
1.2 Builderパターン
1.3 Factory Methodパターン
1.4 Prototypeパターン
1.5 Singletonパターン

2章 構造に関するデザインパターン
2.1 Adapterパターン
2.2 Bridgeパターン
2.3 Compositeパターン
2.3.1 古典的なコンポジット/非コンポジットによる階層
2.3.2 単一クラスによるコンポジット/非コンポジット
2.4 Decoratorパターン
2.4.1 関数デコレータとメソッドデコレータ
2.4.2 クラスデコレータ
2.5 Facadeパターン
2.6 Flyweightパターン
2.7 Proxyパターン

3章 ふるまいに関するデザインパターン
3.1 Chain of Responsibilityパターン
3.1.1 古典的な鎖
3.1.2 コルーチンベースの鎖
3.2 Commandパターン
3.3 Interpreterパターン
3.3.1 eval()を用いた式評価
3.3.2 exec()を用いたコード評価
3.3.3 サブプロセスを用いたコード評価
3.4 Iteratorパターン
3.4.1 シーケンス型プロトコルのイテレータ
3.4.2 iter()関数によるイテレータ
3.4.3 イテレータプロトコルによるイテレータ
3.5 Mediatorパターン
3.5.1 古典的なMediator
3.5.2 コルーチンベースのMediator
3.6 Mementoパターン
3.7 Observerパターン
3.8 Stateパターン
3.8.1 状態に適応するメソッド
3.8.2 状態ごとのメソッド
3.9 Strategyパターン
3.10 Template Methodパターン
3.11 Visitorパターン
3.12 ケーススタディ:Imageパッケージ
3.12.1 Imageモジュール
3.12.2 Xpmモジュールの概要
3.12.3 PNGラッパーモジュール

4章 高レベルな並行処理
4.1 CPUバウンドな並行処理
4.1.1 キューとマルチプロセッシングの使用
4.1.2 フューチャーとマルチプロセッシングの使用
4.2 I/Oバウンドな並行処理
4.2.1 キューとマルチスレッドの使用
4.2.2 フューチャーとマルチスレッドの使用
4.3 ケーススタディ:並行処理によるGUIアプリケーション
4.3.1 GUIの作成
4.3.2 ImageScaleのワーカーモジュール
4.3.3 GUI上での進捗表示
4.3.4 終了時の処理

5章 Pythonの拡張
5.1 ctypesによるCライブラリへのアクセス
5.2 Cythonの使用
5.2.1 Cythonを使ったCライブラリへのアクセス
5.2.2 Cythonモジュールによるさらなる高速化
5.3 ケーススタディ:Imageパッケージの高速化

6章 高レベルなネットワーク処理
6.1 XML-RPCアプリケーション
6.1.1 データラッパー
6.1.2 XML-RPCサーバー
6.1.3 XML-RPCクライアント
6.2 RPyCアプリケーション
6.2.1 スレッドセーフなデータラッパー
6.2.2 RPyCサーバー
6.2.3 RPyCクライアント

7章 PythonとTkinterによるGUIアプリケーション
7.1 Tkinter入門
7.2 Tkinterによるダイアログの作成
7.2.1 ダイアログスタイルのアプリケーション
7.2.2 アプリケーションのダイアログ
7.3 Tkinterによるメインウィンドウアプリケーションの作成
7.3.1 メインウィンドウの作成
7.3.2 メニューの作成
7.3.3 インジケータ付きステータスバーの作成

8章 OpenGLによる3Dグラフィックス
8.1 パースペクティブなシーン
8.1.1 PyOpenGLを用いたシリンダーの作成
8.1.2 pygletによるシリンダーの作成
8.2 平行投影によるゲーム
8.2.1 ボードのシーン作成
8.2.2 シーンオブジェクトの選択
8.2.3 ユーザーインタラクション

あとがき
参考文献
サンプルコードについて
索引

コラム目次
シーケンスのアンパック/ディクショナリのアンパック
バウンドメソッドとアンバウンドメソッド
OS XやWindowsでの
Pythonの拡張
Gravitate