Python Distilled

―プログラミング言語Pythonのエッセンス

[cover photo]
TOPICS
Programming , Python
発行年月日
PRINT LENGTH
336
ISBN
978-4-8144-0046-1
原書
Python Distilled
FORMAT
Print PDF EPUB
Ebook
3,960円
Ebookを購入する
Print
3,960円

タイトルの「distilled」は「蒸留する」「抽出する」という意味があり、そのタイトルの通り、本書は、Pythonの言語仕様に関するトピックの中でも重要なものを抽出しています。Pythonはオンラインドキュメントが充実しているものの、ややもすれば、本当に必要な情報が見つけづらい、たどりつけないという状況も起こりがちです。本書では本当に必要で重要な情報にアクセスできるよう、Pythonのエッセンスを凝縮した内容となっています。

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

第1刷正誤表

(2023年11月13日更新)

p251、表9-4、4項目目
【誤】
f.readline([n])
【正】
f.readlines([size])

p295、round(x [, n])の説明
【誤】
同様に、round(1.5)の場合、1.5に最も近い整数は1と2だが、偶数に丸めるのでround(0.5)の返り値は2となる。
【正】
同様に、round(1.5)の場合、1.5に最も近い整数は1と2だが、偶数に丸めるのでround(1.5)の返り値は2となる。

目次

訳者まえがき
はじめに

1章 Pythonの基礎 
    1.1 Pythonの起動
    1.2 Pythonプログラム 
    1.3 プリミティブ、変数、式
    1.4 算術演算子
    1.5 条件分岐と制御構造
    1.6 文字列 
    1.7 ファイルの入出力
    1.8 リスト
    1.9 タプル
    1.10 集合
    1.11 辞書
    1.12 イテレーションとループ
    1.13 関数
    1.14 例外 
    1.15 プログラムの終了
    1.16 オブジェクトとクラス 
    1.17 モジュール
    1.18 スクリプトの作成
    1.19 パッケージ 
    1.20 アプリケーションの構成
    1.21 サードパーティパッケージの管理
    1.22 Pythonは人間の脳にフィットする

2章 演算子、式、データ操作
    2.1 リテラル
    2.2 式
    2.3 標準的な演算子 
    2.4 インプレース演算子
    2.5 オブジェクトの等価比較
    2.6 順序比較
    2.7 論理式と真偽値
    2.8 条件式
    2.9 イテラブルオブジェクト
    2.10 シーケンス
    2.11 ミュータブルシーケンス
    2.12 集合
    2.13 マッピング(辞書)
    2.14 内包表記
    2.15 ジェネレータ式
    2.16 属性の参照
    2.17 関数呼び出し
    2.18 演算の評価順序
    2.19 まとめ:データの秘密 

3章 プログラムの構造と制御構造
    3.1 プログラムの構成と実行 
    3.2 条件分岐
    3.3 ループとイテレーション
    3.4 例外
        3.4.1 例外の階層
        3.4.2 例外と制御フロー
        3.4.3 ユーザ定義例外 
        3.4.4 例外の連鎖 
        3.4.5 例外のトレースバック
        3.4.6 例外処理のアドバイス
    3.5 コンテキストマネージャとwith文
    3.6 アサートと__debug__
    3.7 まとめ 

4章 オブジェクト、型、プロトコル
    4.1 基本的な概念
    4.2 オブジェクトの同一性と型
    4.3 参照カウントとガベージコレクション
    4.4 参照とコピー
    4.5 オブジェクトの表現と表示
    4.6 第一級オブジェクト
    4.7 NoneをOptional型や欠損データに使う
    4.8 プロトコルとデータの抽象化
    4.9 オブジェクトプロトコル
    4.10 数値プロトコル
    4.11 比較プロトコル
    4.12 変換プロトコル
    4.13 コンテナプロトコル
    4.14 イテレータプロトコル
    4.15 属性プロトコル
    4.16 関数プロトコル 
    4.17 コンテキストマネージャプロトコル
    4.18 まとめ:Pythonicであれ

5章 関数
    5.1 関数定義
    5.2 デフォルト引数
    5.3 可変長引数
    5.4 キーワード引数
    5.5 可変長キーワード引数
    5.6 入力をすべて受け取る関数
    5.7 位置専用引数
    5.8 名前、ドキュメンテーション文字列、型ヒント 
    5.9 副作用のある関数 
    5.10 返り値
    5.11 エラー処理
    5.12 スコープルール
    5.13 再帰
    5.14 lambda式
    5.15 高階関数 
    5.16 コールバック関数における引数の受け渡し
    5.17 コールバック関数の返り値
    5.18 デコレータ
    5.19 Map、Filter、Reduce
    5.20 イントロスペクション、属性、シグネチャ
    5.21 環境インスペクション
    5.22 動的なコード実行と生成 
    5.23 非同期関数とawait
    5.24 まとめ:関数と構成に関する考察

6章 ジェネレータ
    6.1 ジェネレータとyield文
    6.2 再利用できるジェネレータ
    6.3 ジェネレータの委譲
    6.4 ジェネレータの実例 
    6.5 拡張ジェネレータとyield式
    6.6 拡張ジェネレータの応用
    6.7 ジェネレータと非同期処理との橋渡し
    6.8 まとめ:ジェネレータのこれまでとこれから

7章 クラスとオブジェクト指向プログラミング
    7.1 オブジェクト
    7.2 class文
    7.3 インスタンス
    7.4 インスタンスの属性
    7.5 スコープルール
    7.6 演算子のオーバロードとプロトコル
    7.7 継承
    7.8 継承よりも合成
    7.9 継承よりも関数
    7.10 動的束縛とダックタイピング
    7.11 組み込み型の継承の危険性
    7.12 クラス変数とクラスメソッド
    7.13 静的メソッド
    7.14 デザインパターンについて
    7.15 データのカプセル化とプライベート属性
    7.16 型ヒント
    7.17 プロパティ
    7.18 型、インタフェース、抽象基底クラス
    7.19 多重継承、インタフェース、ミックスイン
    7.20 型ベースディスパッチ
    7.21 クラスデコレータ
    7.22 継承のチェック
    7.23 オブジェクトのライフサイクルとメモリ管理
    7.24 弱参照
    7.25 内部オブジェクトの表現と属性束縛 
    7.26 プロキシ、ラッパ、委譲
    7.27 __slots__によるメモリ使用量の削減
    7.28 ディスクリプタ 
    7.29 クラス定義のプロセス
    7.30 動的なクラス生成
    7.31 メタクラス
    7.32 インスタンスとクラスのための組み込みオブジェクト
    7.33 まとめ:シンプルにしよう

8章 モジュールとパッケージ 
    8.1 モジュールとimport文
    8.2 モジュールのキャッシュ 
    8.3 モジュールから選んでインポートする
    8.4 循環インポート
    8.5 モジュールのリロードとアンロード
    8.6 モジュールのコンパイル 
    8.7 モジュールの検索パス
    8.8 モジュールをスクリプトとして実行する 
    8.9 パッケージ
    8.10 パッケージ内のインポート 
    8.11 サブモジュールをスクリプトとして実行する
    8.12 パッケージにおける名前空間の制御
    8.13 公開するパッケージの制御
    8.14 パッケージのリソース
    8.15 モジュールオブジェクト
    8.16 パッケージのデプロイ 
    8.17 まとめの前に:パッケージから始めよう
    8.18 まとめ:シンプルにしよう

9章 入力と出力
    9.1 データの表現
    9.2 テキストのエンコードとデコード
    9.3 テキストとバイトの書式設定
    9.4 コマンドラインオプション
    9.5 環境変数
    9.6 ファイルとファイルオブジェクト 
        9.6.1 ファイル名
        9.6.2 ファイルモード
        9.6.3 I/Oバッファリング
        9.6.4 テキストエンコーディング
        9.6.5 テキストの改行 
    9.7 I/Oの抽象化層
        9.7.1 ファイルオブジェクトのメソッド
    9.8 標準入力、標準出力、標準エラー
    9.9 ディレクトリ
    9.10 print()関数
    9.11 ジェネレータ関数による出力 
    9.12 ジェネレータ関数による入力
    9.13 オブジェクトの直列化
    9.14 ブロッキングと並行処理
        9.14.1 ノンブロッキングI/O
        9.14.2 I/Oポーリング
        9.14.3 スレッド
        9.14.4 asyncioによる並列処理
    9.15 I/O標準ライブラリ 
    9.16 まとめ

10章 組み込み関数と標準ライブラリ
    10.1 組み込み関数
    10.2 組み込み例外
        10.2.1 基底例外クラス 
        10.2.2 例外の属性
        10.2.3 組み込み例外クラス 
    10.3 標準ライブラリ
    10.4 まとめ:組み込み関数を使う

索引