オブジェクト指向のプログラミング言語「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ツール 索引