実践OpenCV 2.4 for 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 参考文献