オブジェクト指向のプログラミング言語「Python」はシンプルで習得が容易という特徴を持ち、ソフトウェアのライフサイクルのすべてのフェーズにおいて高い生産性をもたらします。C/C++やJavaで書かれたコンポーネントと結合させることも可能です。本書『Pythonクイックリファレンス』はPythonの概要を素早く学ぶことができるチュートリアルと、標準ライブラリ/拡張モジュールのリファレンスから構成されています。リファレンス部分では、膨大な標準ライブラリから重要なものを厳選し、NumericやTkinterなどの人気の高いサードパーティの拡張モジュールと合わせて紹介します。Pythonの持つ力を最大限に引き出すために、ぜひ手元においておきたい一冊です。Python2.3対応。
Pythonクイックリファレンス
Alex Martelli 著、株式会社クイープ 訳
- TOPICS
- クイックリファレンス , Programming
- 発行年月日
- 2004年03月
- PRINT LENGTH
- 744
- ISBN
- 4-87311-177-3
- 原書
- Python in Nutshell
- FORMAT
目次
目次
まえがき
I部 はじめてのPython
1章 Pythonの概要
1.1 Python言語
1.2 Pythonの標準ライブラリと拡張モジュール
1.3 Pythonの実装
1.3.1 CPython
1.3.2 Jython
1.3.3 CPythonかJythonかの選択
1.3.4 Python .NET
1.3.5 ライセンスと価格
1.4 Pythonの開発とバージョン
1.5 Pythonに関する資料
1.5.1 ドキュメント
1.5.2 ニュースグループとメーリングリスト
1.5.3 SIG
1.5.4 PBF
1.5.5 Python Journal
1.5.6 拡張モジュールとPythonソース
1.5.7 Python Cookbook
1.5.8 書籍
2章 インストール 15
2.1 ソースコードからのPythonのインストール
2.1.1 Windows
2.1.2 Unixベースのプラットフォーム
2.1.3 Apple Macintosh
2.2 バイナリからのPythonのインストール
2.3 Jythonのインストール
3章 Pythonインタープリタ 23
3.1 Pythonプログラム
3.1.1 環境変数
3.1.2 コマンドライン構文とオプション
3.1.3 対話型セッション
3.2 Pythonの開発環境
3.2.1 IDLE
3.2.2 無償のクロスプラットフォームPython IDE
3.2.3 プラットフォーム固有の無償のPython IDE
3.2.4 市販のPython IDE
3.2.5 Python対応のフリーテキストエディタ
3.3 Pythonプログラムの実行
3.4 Jythonインタープリタ
II部 Python言語とビルトイン 33
4章 Python言語 35
4.1 語彙の構造
4.1.1 行とインデント
4.1.2 トークン
4.1.3 文
4.2 データ型
4.2.1 数値
4.2.2 シーケンス
4.2.3 ディクショナリ
4.2.4 None
4.2.5 呼び出し可能オブジェクト
4.2.6 論理値
4.3 変数とその他の参照
4.3.1 変数
4.3.2 代入文
4.3.3 del文
4.4 式と演算子
4.5 数値演算
4.5.1 強制変換と変換
4.5.2 算術演算
4.5.3 比較
4.5.4 整数のビット演算
4.6 シーケンス演算
4.6.1 シーケンス全般
4.6.2 文字列
4.6.3 タプル
4.6.4 リスト
4.7 ディクショナリ演算
4.7.1 ディクショナリのメンバシップ
4.7.2 ディクショナリのインデックス
4.7.3 ディクショナリのメソッド
4.8 プリント文
4.9 制御フロー文
4.9.1 if文
4.9.2 while文
4.9.3 for文
4.9.4 break文
4.9.5 continue文
4.9.6 ループ文のelse句
4.9.7 pass文
4.9.8 try文
4.10 関数
4.10.1 def文
4.10.2 パラメータ
4.10.3 関数オブジェクトの属性
4.10.4 return文
4.10.5 関数呼び出し
4.10.6 名前空間
4.10.7 lambda式
4.10.8 ジェネレータ
4.10.9 再帰
5章 オブジェクト指向のPython 83
5.1 従来のクラスとインスタンス
5.1.1 class文
5.1.2 クラスのボディ
5.1.3 インスタンス
5.1.4 属性参照の基礎
5.1.5 結合メソッドと非結合メソッド
5.1.6 継承
5.2 新しいスタイルのクラスとインスタンス
5.2.1 objectビルトイン型
5.2.2 クラスレベルのメソッド
5.2.3 新しいスタイルのクラス
5.2.4 新しいスタイルのインスタンス
5.2.5 新しいスタイルのオブジェクトモデルにおける継承
5.3 特殊メソッド
5.3.1 汎用の特殊メソッド
5.3.2 コンテナの特殊メソッド
5.3.3 数値オブジェクトのための特殊メソッド
5.4 メタクラス
5.4.1 Pythonによるメタクラスの決定方法
5.4.2 メタクラスによるクラスの作成方法
6章 例外
6.1 try文
6.1.1 try/except
6.1.2 try/finally
6.2 例外の伝達
6.3 raise文
6.4 例外オブジェクト
6.4.1 標準例外の階層
6.4.2 標準例外クラス
6.5 カスタム例外クラス
6.6 エラーチェック戦略
6.6.1 大きなプログラムでのエラー処理
6.6.2 エラーログ
6.6.3 assert文
6.6.4 __debug__ビルトイン変数
7章 モジュール 141
7.1 モジュールオブジェクト
7.1.1 import文
7.1.2 from文
7.2 モジュールのロード
7.2.1 ビルトインモジュール
7.2.2 ファイルシステムでのモジュールの検索
7.2.3 メインプログラム
7.2.4 reload関数
7.2.5 循環インポート
7.2.6 sys.modulesのエントリ
7.2.7 カスタムインポート
7.3 パッケージ
7.4 ディストリビューションユーティリティ(distutils)
8章 基本的なビルトイン 155
8.1 ビルトイン型
8.2 ビルトイン関数
8.3 sysモジュール
8.4 getoptモジュール
8.5 copyモジュール
8.6 bisectモジュール
8.7 UserListモジュール、UserDictモジュール、UserStringモジュール
9章 文字列と正規表現 177
9.1 文字列オブジェクトのメソッド
9.2 stringモジュール
9.2.1 ロケールセンシティビティ
9.2.2 maketrans関数
9.3 文字列のフォーマット
9.3.1 フォーマット指定子の構文
9.3.2 一般的な文字列フォーマットのイディオム
9.4 pprintモジュール
9.5 reprモジュール
9.6 Unicode
9.6.1 codecsモジュール
9.6.2 unicodedataモジュール
9.7 正規表現とreモジュール
9.7.1 パターン文字列の構文
9.7.2 一般的な正規表現のイディオム
9.7.3 文字セット
9.7.4 選択肢
9.7.5 グループ
9.7.6 オプションフラグ
9.7.7 マッチングと検索
9.7.8 文字列の先頭と末尾のアンカー
9.7.9 正規表現オブジェクト
9.7.10 マッチオブジェクト
9.7.11 reモジュールの関数
III部 Pythonライブラリと拡張モジュール 207
10章 ファイルとテキストの操作 209
10.1 osモジュール
10.1.1 OSError例外
10.1.2 errnoモジュール
10.2 ファイルシステムの操作
10.2.1 osモジュールのパス文字列属性
10.2.2 アクセス許可
10.2.3 osモジュールのファイル/ディレクトリ関数
10.2.4 os.pathモジュール
10.2.5 statモジュール
10.2.6 filecmpモジュール
10.2.7 shutilモジュール
10.2.8 ファイルデスクリプタの操作
10.3 ファイルオブジェクト
10.3.1 openでのファイルオブジェクトの生成
10.3.2 ファイルオブジェクトの属性とメソッド
10.3.3 ファイルオブジェクトでの反復
10.3.4 ファイル形式のオブジェクトとポリモーフィズム
10.4 ファイルI/Oのための補助モジュール
10.4.1 fileinputモジュール
10.4.2 linecacheモジュール
10.4.3 structモジュール
10.4.4 xreadlinesモジュール
10.5 StringIOモジュールとcStringIOモジュール
10.6 圧縮ファイル
10.6.1 gzipモジュール
10.6.2 zipfileモジュール
10.6.3 zlibモジュール
10.7 テキストの入出力
10.7.1 標準出力と標準エラー
10.7.2 print文
10.7.3 標準入力
10.7.4 getpassモジュール
10.8 高度なテキストI/O
10.8.1 readlineモジュール
10.8.2 コンソールI/O
10.9 対話型のコマンドセッション
10.9.1 Cmdインスタンスのメソッド
10.9.2 Cmdインスタンスの属性
10.9.3 Cmdの例
10.10 国際化
10.10.1 localeモジュール
10.10.2 gettextモジュール
11章 永続性とデータベース 271
11.1 直列化
11.1.1 marshalモジュール
11.1.2 pickleモジュールとcPickleモジュール
11.1.3 shelveモジュール
11.2 DBMモジュール
11.2.1 anydbmモジュール
11.2.2 dumbdbmモジュール
11.2.3 dbmモジュール、gdbmモジュール、dbhashモジュール
11.2.4 whichdbモジュール
11.2.5 DBM形式のファイルの使用例
11.3 Berkeley DBモジュール
11.3.1 Berkeley DBの使用例
11.4 Python DBAPI 2.0
11.4.1 例外クラス
11.4.2 スレッドセーフ
11.4.3 パラメータのスタイル
11.4.4 ファクトリ関数
11.4.5 型情報属性
11.4.6 connect関数
11.4.7 接続オブジェクト
11.4.8 カーソルオブジェクト
11.4.9 DBAPI準拠のモジュール
11.4.10 Gadfly
12章 時間の操作 299
12.1 timeモジュール
12.2 schedモジュール
12.3 calendarモジュール
12.4 mx.DateTimeモジュール
12.4.1 日付と時刻の型
12.4.2 DateTime型
12.4.3 DateTimeDelta型
12.4.4 その他の属性
12.4.5 サブモジュール
13章 実行の制御 317
13.1 動的な実行とexec文
13.1.1 execを使用しない
13.1.2 実行の制限
13.1.3 式
13.1.4 コンパイルとコードオブジェクト
13.2 制限された実行
13.2.1 rexecモジュール
13.2.2 Bastionモジュール
13.3 内部型
13.3.1 型オブジェクト
13.3.2 コードオブジェクト型
13.3.3 フレーム型
13.4 ガーベージコレクション
13.4.1 gcモジュール
13.4.2 weakrefモジュール
13.5 終了関数
13.6 サイトとユーザーのカスタマイズ
13.6.1 siteモジュールとsitecustomizeモジュール
13.6.2 ユーザーのカスタマイズ
14章 スレッドとプロセス 337
14.1 Pythonのスレッド
14.2 threadモジュール
14.3 Queueモジュール
14.4 threadingモジュール
14.4.1 Threadオブジェクト
14.4.2 スレッド同期オブジェクト
14.5 スレッドプログラムアーキテクチャ
14.6 プロセス環境
14.7 ほかのプログラムの実行
14.8 mmapモジュール
14.8.1 mmapオブジェクトのメソッド
14.8.2 mmapオブジェクトによるIPC
15章 数値処理 361
15.1 mathモジュールとcmathモジュール
15.2 operatorモジュール
15.3 randomモジュール
15.4 arrayモジュール
15.5 Numericパッケージ
15.6 配列オブジェクト
15.6.1 型コード
15.6.2 シェイプとインデックス
15.6.3 記憶域
15.6.4 スライス
15.6.5 真理値
15.6.6 ファクトリ関数
15.6.7 属性とメソッド
15.6.8 配列の演算
15.6.9 関数
15.7 ユニバーサル関数(ufunc)
15.7.1 オプションの出力引数
15.7.2 呼び出し可能属性
15.7.3 Numericが提供するufuncオブジェクト
15.7.4 よく使用されるufuncメソッドの省略表記
15.8 オプションの数値モジュール
16章 Tkinter GUI 399
16.1 Tkinterの基礎
16.2 ウィジェットの基礎
16.2.1 ウィジェットの共通オプション
16.2.2 ウィジェットの共通メソッド
16.2.3 Tkinter変数オブジェクト
16.2.4 Tkinterイメージ
16.3 よく使用される簡単なウィジェット
16.3.1 Button
16.3.2 Checkbutton
16.3.3 Entry
16.3.4 Label
16.3.5 Listbox
16.3.6 Radiobutton
16.3.7 Scale
16.3.8 Scrollbar
16.4 コンテナウィジェット
16.4.1 Frame
16.4.2 Toplevel
16.5 メニューウィジェット
16.5.1 メニュー固有のメソッド
16.5.2 メニューエントリ
16.5.3 メニューの例
16.6 テキストウィジェット
16.6.1 テキストウィジェットのメソッド
16.6.2 テキストのスクロールバーの表示
16.6.3 マーク
16.6.4 タグ
16.6.5 インデックス
16.6.6 フォント
16.6.7 テキストの例
16.7 キャンバスウィジェット
16.7.1 アイテム関連のキャンバスメソッド
16.7.2 lineアイテム
16.7.3 polygonアイテム
16.7.4 rectangleアイテム
16.7.5 textアイテム
16.7.6 簡単なプロッティングの例
16.8 ジオメトリの管理
16.8.1 Packer
16.8.2 Gridder
16.8.3 Placer
16.9 Tkinterイベント
16.9.1 イベントオブジェクト
16.9.2 イベントへのコールバックの結合
16.9.3 イベント名
16.9.4 イベント関連のメソッド
16.9.5 イベントの例
16.9.6 コールバック関連のその他のメソッド
17章 テスト、デバッグ、最適化 451
17.1 テスト
17.1.1 単体テストとシステムテスト
17.1.2 doctestモジュール
17.1.3 unittestモジュール
17.2 デバッグ
17.2.1 inspectモジュール
17.2.2 tracebackモジュール
17.2.3 pdbモジュール
17.2.4 IDLEでのデバッグ
17.3 warningsモジュール
17.3.1 クラス
17.3.2 オブジェクト
17.3.3 フィルタ
17.3.4 関数
17.4 最適化
17.4.1 十分に高速なPythonアプリケーションの開発
17.4.2 ベンチマーク
17.4.3 大規模な最適化
17.4.4 プロファイリング
17.4.5 小規模な最適化
IV部 ネットワークとWebプログラミング 493
18章 クライアント側のネットワークプロトコルモジュール 495
18.1 URLアクセス
18.1.1 urlparseモジュール
18.1.2 urllibモジュール
18.1.3 urllib2モジュール
18.2 電子メールプロトコル
18.2.1 poplibモジュール
18.2.2 smtplibモジュール
18.3 HTTPプロトコルとFTPプロトコル
18.3.1 httplibモジュール
18.3.2 ftplibモジュール
18.4 Network News
18.4.1 レスポンス文字列
18.4.2 メソッド
18.4.3 例
18.5 Telnet
18.6 分散コンピューティング
19章 ソケットとサーバー側のネットワークプロトコルモジュール 525
19.1 socketモジュール
19.1.1 socket関数
19.1.2 socketクラス
19.1.3 TCPソケットを使用するエコーサーバーとクライアント
19.1.4 UDPソケットを使用するエコーサーバーとクライアント
19.1.5 timeoutsocketモジュール
19.2 SocketServerモジュール
19.2.1 BaseRequestHandlerクラス
19.2.2 HTTPサーバー
19.3 イベントドリブンのソケットプログラム
19.3.1 selectモジュール
19.3.2 asyncoreモジュールとasynchatモジュール
19.3.3 Twistedフレームワーク
20章 CGIスクリプティングとその他の手法 553
20.1 PythonでのCGI
20.1.1 フォーム送信メソッド
20.1.2 cgiモジュール
20.1.3 CGIの出力とエラー
20.1.4 Python CGIスクリプトのインストール
20.2 クッキー
20.2.1 Cookieモジュール
20.3 その他のサーバー側の手法
20.3.1 FastCGI
20.3.2 LRWP
20.3.3 PyApacheとmod_python
20.3.4 Webware
20.3.5 Quixote
20.3.6 純粋なカスタムPythonサーバー
21章 MIMEとネットワークエンコーディング 571
21.1 テキストとしてのバイナリデータのエンコーディング
21.1.1 base64モジュール
21.1.2 quopriモジュール
21.1.3 uuモジュール
21.2 MIMEと電子メールフォーマットの処理
21.2.1 emailパッケージの関数
21.2.2 email.Messageモジュール
21.2.3 email.Generatorモジュール
21.2.4 メッセージの作成
21.2.5 email.Encodersモジュール
21.2.6 email.Utilsモジュール
21.2.7 rfc822モジュールとmimetoolsモジュールのMessageクラス
22章 構造化テキスト:HTML 587
22.1 sgmllibモジュール
22.2 htmllibモジュール
22.2.1 formatterモジュール
22.2.2 htmlentitydefsモジュール
22.2.3 htmllibによるHTMLの解析
22.3 HTMLParserモジュール
22.4 HTMLの生成
22.4.1 埋め込み
22.4.2 テンプレート化
22.4.3 Cheetahパッケージ
23章 構造化テキスト:XML 603
23.1 XML解析の概要
23.2 SAXによるXMLの解析
23.2.1 xml.saxパッケージ
23.2.2 xml.saxによるXHTMLの解析
23.3 DOMによるXMLの解析
23.3.1 xml.domパッケージ
23.3.2 xml.dom.minidomモジュール
22.3.3 xml.dom.minidomによるXHTMLの解析
22.3.4 xml.dom.pulldomモジュール
23.3.5 xml.dom.pulldomによるXHTMLの解析
23.4 XMLの変更と生成
23.4.1 Documentオブジェクトのファクトリメソッド
23.4.2 Elementオブジェクトの可変メソッド
23.4.3 Nodeオブジェクトの可変メソッド
23.4.4 Nodeオブジェクトの出力メソッド
23.4.5 xml.dom.minidomによるXHTMLの変更と出力
V部 拡張と埋め込み 625
24章 Pythonの拡張と埋め込み 627
24.1 PythonのC APIによるPythonの拡張
24.1.1 CでコーディングされたPython拡張のビルドとインストール
24.1.2 CでコーディングされたPython拡張モジュールの概要
24.1.3 PythonのC API関数の戻り値
24.1.4 モジュールの初期化
24.1.5 参照カウント
24.1.6 引数へのアクセス
24.1.7 Python値の作成
21.4.8 例外
24.1.9 抽象層の関数
24.1.10 具象層の関数
24.1.11 簡単な拡張の例
24.1.12 新しい型の定義
24.2 PythonのC APIを使用しないPythonの拡張
24.3 Pythonの埋め込み
24.3.1 常駐拡張モジュールのインストール
24.3.2 引数の設定
24.3.3 Pythonの初期化と終了処理
24.3.4 Pythonコードの実行
25章 Jythonの拡張と埋め込み 669
25.1 JythonでのJavaパッケージのインポート
25.1.1 Jythonレジストリ
25.1.2 アクセス制限
25.1.3 型変換
25.1.4 Javaクラスのサブクラス化
25.1.5 JavaBeans
25.2 JavaでのJythonの埋め込み
25.2.1 PythonInterpreterクラス
25.2.2 PyObjectクラス
25.2.3 Pyクラス
25.3 PythonからJavaへのコンパイル
25.3.1 jythoncコマンド
25.3.2 Javaに公開されるメソッドの追加
25.3.3 Pythonアプレットとサーブレット
26章 拡張とプログラムの配布 681
26.1 Pythonのdistutils
26.1.1 ディストリビューションとそのルート
26.1.2 setup.pyスクリプト
26.1.3 ディストリビューションのメタデータ
26.1.4 ディストリビューションの内容
26.1.5 setup.cfgファイル
26.1.6 MANIFEST.inファイルとMANIFESTファイル
26.1.7 distutilsによるプリビルドディストリビューションの作成
26.2 py2exeツール
26.3 Installerツール
索引