現在地: ホーム Dive Into Python 3

目次

  1. “Dive Into Python 3” で新しくなったこと
    1. またの名を「負のレベル」
  2. Pythonをインストールする
    1. 飛び込む
    2. どのPythonを使えばよいのだろうか?
    3. Microsoft Windowsにインストールする
    4. Mac OS Xにインストールする
    5. Ubuntu Linuxにインストールする
    6. その他のプラットフォームにインストールする
    7. Pythonシェルを使う
    8. PythonのエディタとIDE
  3. 初めてのPythonプログラム
    1. 飛び込む
    2. 関数を定義する
      1. オプション引数と名前付き引数
    3. 読みやすいコードを書く
      1. ドキュメンテーション文字列
    4. import検索パス
    5. あらゆるものがオブジェクト
      1. オブジェクトとは何か?
    6. コードをインデントする
    7. 例外
      1. インポートエラーを捕捉する
    8. 未束縛の変数
    9. あらゆるものにおいて大文字と小文字が区別される
    10. スクリプトを実行する
    11. もっと知りたい人のために
  4. ネイティブデータ型
    1. 飛び込む
    2. ブール値
    3. 数値
      1. 整数から浮動小数点数への型強制、およびその反対
      2. 一般的な数値演算
      3. 分数
      4. 三角法
      5. ブール値のコンテクストでの数値
    4. リスト
      1. リストを作る
      2. リストをスライスする
      3. 要素をリストに追加する
      4. リストの値を検索する
      5. リストから要素を取り除く
      6. リストから要素を取り除く: おまけ
      7. ブール値のコンテクストでのリスト
    5. タプル
      1. ブール値のコンテクストでのタプル
      2. 複数の値を一度に代入する
    6. 集合
      1. 集合を作る
      2. 集合を変更する
      3. 集合から値を取り除く
      4. 一般的な集合演算
      5. ブール値のコンテクストでの集合
    7. 辞書
      1. 辞書を作る
      2. 辞書を変更する
      3. 値が混在する辞書
      4. ブール値のコンテクストでの辞書
    8. None
      1. ブール値のコンテクストでのNone
    9. もっと知りたい人のために
  5. 内包表記
    1. 飛び込む
    2. ファイルとディレクトリを扱う
      1. 現在の作業ディレクトリ
      2. ファイル名とディレクトリ名を扱う
      3. ディレクトリの内容を見る
      4. ファイルのメタデータを取得する
      5. 絶対パス名を構築する
    3. リスト内包表記
    4. 辞書内包表記
      1. 辞書内包表記に関する他の愉快なもの
    5. 集合内包表記
    6. もっと知りたい人のために
  6. 文字列
    1. 飛び込む前に知っておくべき退屈なこと
    2. Unicode
    3. 飛び込む
    4. 文字列をフォーマットする
      1. 合成フィールド名
      2. フォーマット指定子
    5. その他の一般的な文字列メソッド
      1. 文字列をスライスする
    6. 文字列 vs. バイト列
    7. 追記: Pythonのソースコードの文字コード
    8. もっと知りたい人のために
  7. 正規表現
    1. 飛び込む
    2. ケーススタディ: 番地
    3. ケーススタディ: ローマ数字
      1. 1000の位をチェックする
      2. 100の位をチェックする
    4. {n,m}構文を使う
      1. 10の位と1の位をチェックする
    5. 冗長な正規表現
    6. ケーススタディ: 電話番号をパースする
    7. まとめ
  8. クロージャとジェネレータ
    1. 飛び込む
    2. そうか、正規表現を使うんだ!
    3. 関数のリスト
    4. パターンのリスト
    5. パターンのファイル
    6. ジェネレータ
      1. フィボナッチ数列ジェネレータ
      2. 名詞を複数形にする規則のジェネレータ
    7. もっと知りたい人のために
  9. クラスとイテレータ
    1. 飛び込む
    2. クラスを定義する
      1. __init__()メソッド
    3. クラスをインスタンス化する
    4. インスタンス変数
    5. フィボナッチイテレータ
    6. 名詞を複数形にする規則のイテレータ
    7. もっと知りたい人のために
  10. 高度なイテレータ
    1. 飛び込む
    2. パターンの出現をすべて見つける
    3. シーケンスから重複を取り除く
    4. 表明する
    5. ジェネレータ式
    6. 順列を計算する…… 怠惰なやり方!
    7. itertoolsモジュールにある他の愉快なもの
    8. 新種の文字列操作
    9. 任意の文字列をPythonの式として評価する
    10. まとめ
    11. もっと知りたい人のために
  11. ユニットテスト
    1. 飛び込(まない)
    2. 一つの問い
    3. “Halt And Catch Fire”
    4. もっと中断させて、もっと発火させる
    5. さらにもう一つ……
    6. すばらしき対称性
    7. 不適切な入力値
  12. リファクタリング
    1. 飛び込む
    2. 要件の変更に対処する
    3. リファクタリング
    4. まとめ
  13. ファイル
    1. 飛び込む
    2. テキストファイルから読み込む
      1. 文字コードが不快な姿を現す
      2. ストリームオブジェクト
      3. テキストファイルからデータを読み込む
      4. ファイルを閉じる
      5. ファイルを自動的に閉じる
      6. データを一行ずつ読み込む
    3. テキストファイルに書き込む
      1. 文字コード再び
    4. バイナリファイル
    5. ファイル以外をソースとするストリームオブジェクト
      1. 圧縮ファイルを扱う
    6. 標準入力・標準出力・標準エラー出力
      1. 標準出力をリダイレクトする
    7. もっと知りたい人のために
  14. XML
    1. 飛び込む
    2. 5分間短期集中XML入門コース
    3. Atomフィードの構造
    4. XMLをパースする
      1. 要素はリスト
      2. 属性は辞書
    5. XML文書の中からノードを検索する
    6. lxmlを使ってさらに踏み込む
    7. XMLを生成する
    8. 壊れたXMLをパースする
    9. もっと知りたい人のために
  15. Pythonオブジェクトをシリアライズする
    1. 飛び込む
      1. この章の例についての手短な注意
    2. データをPickleファイルに保存する
    3. データをPickleファイルから読み込む
    4. ファイルを使わずにPickle化する
    5. バイト列と文字列が再び不快な姿を現す
    6. Pickleファイルをデバッグする
    7. Pythonオブジェクトを他の言語で読むためにシリアライズする
    8. データをJSONファイルに保存する
    9. Pythonのデータ型をJSONにマッピングする
    10. JSONがサポートしていないデータ型をシリアライズする
    11. JSONファイルからデータを読み込む
    12. もっと知りたい人のために
  16. HTTPウェブサービス
    1. 飛び込む
    2. HTTPの諸機能
      1. キャッシュ
      2. Last-Modifiedチェック
      3. ETagチェック
      4. 圧縮
      5. リダイレクト
    3. HTTPを使ってデータを取得するまずいやり方
    4. 何が回線を通っているのか?
    5. httplib2の紹介
      1. 補足: httplib2はなぜ文字列の代わりにバイト列を返すのか?
      2. httplib2はキャッシュをどのように扱うのか
      3. httplib2はどのようにLast-ModifiedヘッダやETagヘッダを扱うのか
      4. http2libはどのように圧縮を扱うのか
      5. httplib2はどのようにリダイレクトを扱うのか
    6. HTTP GETの先へ
    7. HTTP POSTの先へ
    8. もっと知りたい人のために
  17. ケーススタディ: chardetをPython 3に移植する
    1. 飛び込む
    2. 文字コードの自動検出とは何か?
      1. それって不可能じゃないの?
      2. そういうアルゴリズムは実際に存在するの?
    3. chardetモジュールのご紹介
      1. BOMの付いたUTF-n
      2. エスケープを利用した文字コード
      3. マルチバイトの文字コード
      4. シングルバイトの文字コード
      5. windows-1252
    4. 2to3を実行する
    5. マルチファイルモジュールの話に少し脱線
    6. 2to3にはできないことを修正する
      1. False is invalid syntax
      2. No module named constants
      3. Name 'file' is not defined
      4. Can’t use a string pattern on a bytes-like object
      5. Can't convert 'bytes' object to str implicitly
      6. Unsupported operand type(s) for +: 'int' and 'bytes'
      7. ord() expected string of length 1, but int found
      8. Unorderable types: int() >= str()
      9. Global name 'reduce' is not defined
    7. まとめ
  18. Pythonライブラリをパッケージ化する
    1. 飛び込む
    2. Distutilsがやってくれないこと
    3. ディレクトリ構造
    4. セットアップスクリプトを書く
    5. パッケージを分類する
      1. 良いパッケージ分類タグの例
    6. マニフェストを使って追加ファイルを指定する
    7. セットアップスクリプトにエラーがないかを確認する
    8. ソースディストリビューションを作る
    9. グラフィカルインストーラを作る
      1. 他のオペレーティングシステムのためのパッケージを構築する
    10. ソフトウェアをPython Package Indexに追加する
    11. Pythonのパッケージ化のありうる未来
    12. もっと知りたい人のために
  19. 2to3を使ってコードをPython 3に移植する
    1. 飛び込む
    2. print
    3. Unicode文字列リテラル
    4. unicode()グローバル関数
    5. longデータ型
    6. <> 比較
    7. has_key()辞書メソッド
    8. リストを返す辞書メソッド
    9. 名前が変更されたり再構成されたりしたモジュール
      1. http
      2. urllib
      3. dbm
      4. xmlrpc
      5. その他のモジュール
    10. パッケージ内の相対インポート
    11. next()イテレータ メソッド
    12. filter()グローバル関数
    13. map()グローバル関数
    14. reduce()グローバル関数
    15. apply()グローバル関数
    16. intern()グローバル関数
    17. exec
    18. execfile
    19. reprリテラル(バック)
    20. try...except
    21. raise
    22. ジェネレータのthrowメソッド
    23. xrange() グローバル関数
    24. raw_input() / input()グローバル関数
    25. func_* 関数属性
    26. xreadlines() I/O メソッド
    27. 複数の引数をとる代わりにタプルをとるlambda関数
    28. 特殊メソッド属性
    29. __nonzero__特殊メソッド
    30. 8進数リテラル
    31. sys.maxint
    32. callable()グローバル関数
    33. zip()グローバル関数
    34. StandardError例外
    35. typesモジュールの定数
    36. isinstance()グローバル関数
    37. basestringデータ型
    38. itertoolsモジュール
    39. sys.exc_type, sys.exc_value, sys.exc_traceback
    40. タプルを利用したリスト内包表記
    41. os.getcwdu() 関数
    42. メタクラス
    43. スタイルの問題
      1. set()リテラル (explicit)
      2. buffer()グローバル関数 (explicit)
      3. カンマの周りの空白文字 (explicit)
      4. 慣用的表現 (explicit)
  20. 特殊メソッド名
    1. 飛び込む
    2. 基礎
    3. イテレータのように振る舞うクラス
    4. 算出属性
    5. 関数のように振る舞うクラス
    6. シーケンスのように振る舞うクラス
    7. 辞書のように振る舞うクラス
    8. 数値のように振る舞うクラス
    9. 比較可能なクラス
    10. シリアライズ可能なクラス
    11. withブロックで使えるクラス
    12. 完全に奥義的なもの
    13. もっと知りたい人のために
  21. ここからどこへ進むか
    1. 読み物
    2. Python 3互換のコードはどこで見つければよいのか
  22. トラブルシューティング
    1. 飛び込む
    2. コマンドラインにたどりつく
    3. コマンドラインからPythonを実行する

© 2001– Mark Pilgrim
© Fukada, Fujimoto(日本語版)