製品情報


実践OpenCV 2.4 for Python

概要

Fluent Python 2017年10月発売
832ページ
本体価格 5,800円(税込 6,264円)
ISBN 978-4-87311-817-8

目次

    第1章 Pythonのデータモデル
  • 1.1 Pythonicなトランプ
  • 1.2 特殊メソッドの使用方法
  • 1.3 特殊メソッドの概要/li>
  • 1.4 lenがメソッドではない理由
  • 1.5 本章のまとめ
  • 1.6 参考文献
    第2章 シーケンスの配列
  • 2.1 組み込み型シーケンスの概要
  • 2.2 リスト内包表記とジェネレータ式
  • 2.3 タプルは単なる不変リストではありません
  • 2.4 スライス
  • 2.5 シーケンスの+と*
  • 2.6 シーケンスと累算代入
  • 2.7 list.sortと組み込み関数sorted
  • 2.8 bisectを使った順序付きシーケンスの処理
  • 2.9 listを使わない方がよいケース
  • 2.10 本章のまとめ
  • 2.11 参考文献
    第3章 ディクショナリとセット
  • 3.1 一般的なマップ型
  • 3.2 ディクショナリ内包表記
  • 3.3 一般的なマップメソッドの概要
  • 3.4 柔軟なキー検索を使ったマップ
  • 3.5 dictのバリエーション
  • 3.6 UserDictのサブクラス化
  • 3.7 不変マップ
  • 3.8 セット
  • 3.9 dictとsetの内部構造
  • 3.10 本章のまとめ
  • 3.11 参考文献
    第4章 テキストとバイト
  • 4.1 文字の問題
  • 4.2 バイトについて
  • 4.3 基本的なエンコーダとデコーダ
  • 4.4 エンコードとデコードの問題点理
  • 4.5 テキストファイルの処理
  • 4.6 適切な比較のためのUnicodeの正規化
  • 4.7 Unicodeテキストのソート
  • 4.8 Unicodeデータベース
  • 4.9 str/bytesデュアルモードAPI
  • 4.10 本章のまとめ
  • 4.11 参考文献
    第5章 第1級関数
  • 5.1 関数をオブジェクトのように扱う
  • 5.2 高階関数
  • 5.3 無名関数
  • 5.4 7つの呼び出し可能オブジェクト
  • 5.5 呼び出し可能なユーザ定義型
  • 5.6 関数のイントロスペクション
  • 5.7 位置引数からキーワードオンリー引数へ
  • 5.8 引数の情報の取得
  • 5.9 関数アノテーション
  • 5.10 関数型プログラミングのためのパッケージ
  • 5.11 本章のまとめ
  • 5.12 参考文献
    第6章 第1級関数を使ったデザインパターン
  • 6.1 リファクタリングのケーススタディとしてのStrategyパターン
  • 6.2 Commandパターン
  • 6.3 本章のまとめ
  • 6.4 参考文献
    第7章 関数デコレータとクロージャ
  • 7.1 デコレータの基礎
  • 7.2 デコレータ実行のタイミング
  • 7.3 デコレータを使ったStrategyパターンの改善
  • 7.4 変数スコープ
  • 7.5 クロージャ
  • 7.6 nonlocal宣言
  • 7.7 シンプルなデコレータの実装
  • 7.8 標準ライブラリのデコレータ
  • 7.9 多重デコレータ
  • 7.10 パラメータ化デコレータ
  • 7.11 本章のまとめ
  • 7.12 参考文献
    第8章 オブジェクト参照、可変性、リサイクル
  • 8.1 変数≠箱
  • 8.2 同一性、等価性、エイリアス
  • 8.3 デフォルトのコピーは「浅い」
  • 8.4 参照としての関数の引数
  • 8.5 delとガベージコレクション
  • 8.6 弱参照
  • 8.7 Pythonが不変型で使っている魔術
  • 8.8 本章のまとめ
  • 8.9 参考文献
    第9章 Pythonicなオブジェクト
  • 9.1 オブジェクトの表現
  • 9.2 Vectorクラス再訪
  • 9.3 別バージョンのコンストラクタ
  • 9.4 classmethodとstaticmethod
  • 9.5 出力フォーマット
  • 9.6 ハッシュ可能なVector2d
  • 9.7 プライベート属性と「プロテクト」属性
  • 9.8 クラス属性__slots__によるメモリ節約
  • 9.9 クラス属性の上書き
  • 9.10 本章のまとめ
  • 9.11 参考文献
    第10章 シーケンスをばらして、ハッシュして、スライスする
  • 10.1 ユーザ定義のシーケンス型(Vector)
  • 10.2 Vector2d互換(Vectorテイク1)
  • 10.3 プロトコルとダックタイピング
  • 10.4 スライス可能なシーケンス(Vectorテイク2)
  • 10.5 動的な属性アクセス(Vectorテイク3)
  • 10.6 ハッシュとより高速な==(Vectorテイク4)
  • 10.7 フォーマット(Vectorテイク5)
  • 10.8 本章のまとめ
  • 10.9 参考文献
    第11章 インタフェース ― プロトコルから抽象基底クラスへ
  • 11.1 Python文化におけるインタフェースとプロトコル
  • 11.2 とことんまでシーケンスを追いかける
  • 11.3 プロトコルをランタイムで実装するモンキーパッチ
  • 11.4 カモ目の分類の話
  • 11.5 抽象基底クラスのサブクラス化
  • 11.6 標準ライブラリの抽象基底クラス
  • 11.7 抽象基底クラスの定義と利用
  • 11.8 Tombolaサブクラスのテスト方法
  • 11.9 よくあるregisterの使い方
  • 11.10 ガチョウもアヒルのように振る舞う
  • 11.11 本章のまとめ
  • 11.12 参考文献
    第12章 継承の功罪
  • 12.1 組み込み型からのサブクラス化には注意が必要
  • 12.2 多重継承とメソッド解決順序
  • 12.3 実世界での多重継承
  • 12.4 多重継承への対処方法
  • 12.5 Djangoの汎用ビューにおけるmixin
  • 12.6 本章のまとめ
  • 12.7 参考文献
    第13章 演算子オーバーロードの適切な用法
  • 13.1 演算子オーバーロードの基礎
  • 13.2 単項演算子
  • 13.3 Vectorの加算用「+」をオーバーロード
  • 13.4 スカラー倍用の「*」をオーバーロード
  • 13.5 拡張比較演算子
  • 13.6 累算代入演算子
  • 13.7 本章のまとめ
  • 13.8 参考文献
    第14章 イテラブル、イテレータ、ジェネレータ
  • 14.1 単語のシーケンス(Sentenceテイク1)
  • 14.2 イテラブルとイテレータ
  • 14.3 典型的なイテレータ(Sentenceテイク2)
  • 14.4 ジェネレータ関数(Sentenceテイク3)
  • 14.5 怠惰な実装(Sentenceテイク4)
  • 14.6 ジェネレータ式(Sentenceテイク5)
  • 14.7 いつジェネレータ式を利用すべきか
  • 14.8 等差数列ジェネレータ
  • 14.9 標準ライブラリのジェネレータ関数
  • 14.10 yield from
  • 14.11 イテラブルを縮約する関数
  • 14.12 関数iterの詳細
  • 14.13 ジェネレータを使ったデータベース変換ユーティリティ
  • 14.14 コルーチンとしてのジェネレータ
  • 14.15 本章のまとめ
  • 14.16 参考文献
    第15章 コンテキストマネージャとelseブロック
  • 15.1 「ああしてからこうする」 ― if以外でのelseブロックの用法
  • 15.2 コンテキストマネージャとwithブロック
  • 15.3 contextlibユーティリティ
  • 15.4 @contextmanager
  • 15.5 本章のまとめ
  • 15.6 参考文献
    第16章 コルーチン
  • 16.1 ジェネレータの発展形としてのコルーチン
  • 16.2 コルーチンとしてのジェネレータの基本動作
  • 16.3 その時点の平均を計算するコルーチン
  • 16.4 コルーチンの予備処理をするデコレータ
  • 16.5 コルーチンの終了と例外処理
  • 16.6 コルーチンから返される値
  • 16.7 yield from
  • 16.8 yield fromの意味
  • 16.9 コルーチンを使った離散事象シミュレーションの事例
  • 16.10 本章のまとめ
  • 16.11 参考文献
    第17章 futuresを使った並行処理
  • 17.1 3種類のウェブダウンロードスクリプト
  • 17.2 ブロッキングI/OとGIL
  • 17.3 concurrent.futuresによるプロセスの起動
  • 17.4 Executor.mapの実験
  • 17.5 進行状況表示とエラー処理を加えたダウンロード
  • 17.6 本章のまとめ
  • 17.7 参考文献
    第18章 asyncioによる並行処理
  • 18.1 スレッドとコルーチン
  • 18.2 asyncioおよびaiohttによるダウンロード
  • 18.3 ブロッキング型の呼び出しをぐるぐるまわす
  • 18.4 asyncioダウンローダスクリプトの拡張
  • 18.5 コールバックからFutureとコルーチンへ
  • 18.6 asyncioサーバを書く
  • 18.7 本章のまとめ
  • 18.8 参考文献
    第19章 動的属性とプロパティ
  • 19.1 動的属性を用いたデータの変換
  • 19.2 プロパティを用いた属性の検証
  • 19.3 プロパティとは何か
  • 19.4 プロパティファクトリ
  • 19.5 属性の削除処理
  • 19.6 属性処理の重要な属性と関数
  • 19.7 本章のまとめ
  • 19.8 参考文献
    第20章 属性ディスクリプタ
  • 20.1 属性の検証処理
  • 20.2 オーバーライドディスクリプタと非オーバーライドディスクリプタ
  • 20.3 メソッドはディスクリプタ
  • 20.4 ディスクリプタの使い方
  • 20.5 ディスクリプタのdocstringと削除処理のオーバーライド
  • 20.6 本章のまとめ
  • 20.7 参考文献
    第21章 クラスメタプログラミング
  • 21.1 クラスファクトリ
  • 21.2 ディスクリプタをカスタマイズするクラスデコレータ
  • 21.3 インポートタイムとランタイムに起きること
  • 21.4 メタクラスの基礎
  • 21.5 ディスクリプタをカスタマイズするメタクラス
  • 21.6 メタクラスの特殊メソッド__prepare__
  • 21.7 オブジェクトとしてのクラス
  • 21.8 本章のまとめ
  • 21.9 参考文献
    付録A スクリプト
    付録B 参考文献リンク
    付録C 参考文献