実践 Python 3

[cover photo]
  • 2015年12月 発行
  • 372ページ
  • ISBN978-4-87311-739-3
  • フォーマット Print PDF ePub mobi
  • 原書: Python in Practice

オライリー・ジャパンで書籍を購入:
定価3,672円

Ebook Storeで電子版を購入:
価格2,938円

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

関連書籍

Cython
Effective Python
MongoDB & Python
Python & AWS クックブック
Pythonからはじめる数学入門
Pythonチュートリアル 第3版
Pythonによるデータ分析入門
Python文法詳解
行列プログラマー
サイバーセキュリティプログラミング
実践 機械学習システム
実践 コンピュータビジョン
ゼロから作るDeep Learning
入門 Python 3
ハイパフォーマンスPython
初めてのPython 第3版

序文
訳者まえがき
まえがき

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

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]