Python トリック : 真に効果的な Python プログラミング手法

Python トリック : 真に効果的な Python プログラミング手法の表紙
プログラミング
著者:
Bader,Dan クイープ
出版社:
翔泳社
出版日:
202004
ISBN:
9784798157672
Python

なぜ注目されているか

総合12位 言及 1 件

技書の森解説

Python の入門書を一通り終え、動くコードは書けるようになったものの、もっと Python らしい書き方を身につけたい人に向けた一冊が『Python トリック』 (Dan Bader 著、株式会社クイープ 監修・訳、翔泳社、2020 年 4 月 15 日発売) です。原書は Dan Bader の Python Tricks The Book: A Buffet of Awesome Python Features で、著者が Twitter で発信していた Tips の紹介を出発点に、寄せられた反応を取り込みながら書き上げた本と紹介されています。他の言語から Python に移ってきた経験者にとっても、書き方の違いをリスト内包や文字列フォーマットといった短いサンプルで確かめられる構成です。

全 9 章、関数とクラスからディクショナリの技法まで

本書は全 9 章で、はじめにと最後にの章が前後を挟みます。第 2 章「よりクリーンな Python のためのパターン」はアサーション、コンマの配置、コンテキストマネージャーと with 文、アンダースコアとダンダー、文字列のフォーマット、The Zen of Python の隠しコマンドを扱います。第 3 章「効果的な関数」は関数がファーストクラスオブジェクトであること、ラムダ、デコレーター、*args と **kwargs、引数のアンパック、何も返さない関数の戻り値を取り上げます。第 4 章はクラスとオブジェクト指向で、is と == の違い、文字列変換のための repr、カスタム例外、オブジェクトの複製、抽象基底クラス、名前付きタプル、クラス変数とインスタンス変数の落とし穴、インスタンスメソッドとクラスメソッドと静的メソッドの違いが並びます。第 5 章は辞書、配列、レコード、セット、スタック、キュー、優先度付きキューといったデータ構造を Python の標準の道具でどう表すかを整理し、第 6 章はループと内包、スライス、イテレーター、ジェネレーターとジェネレーター式、イテレーターの連結を、第 7 章はディクショナリの既定値、ソート、switch/case 文の代わりとしての使い方、マージ、出力の整え方を扱います。第 8 章ではモジュールとオブジェクトの調べ方、仮想環境による依存関係の分離、バイトコードの中身を覗く方法まで踏み込みます。

パイソニックなコードが読みやすさと不具合の少なさにつながる理由

Python では、同じ処理を書く方法がいくつもあるように見えて、言語の設計に沿った書き方、いわゆるパイソニックな書き方を選ぶと、コードが短くなるだけでなく誤りも入りにくくなります。たとえば with 文を使えば、ファイルやロックの解放を書き忘れる心配がなくなります。関数を値として受け渡せることは 高階関数 の土台で、それを理解するとデコレーターが特別な魔法ではなく、関数を受け取って別の関数を返す仕組みにすぎないことが見えてきます。is と == の取り違え、クラス変数をインスタンスごとの値のつもりで書き換える誤りは、入門を終えた段階の人が実際に踏みやすい落とし穴です。ディクショナリが ハッシュテーブル として実装されていることを知っておけば、検索の速さを生かしたデータの持ち方も選べます。本書は、こうした「知っていれば避けられる」差を、一つの話題につき短いサンプルで見せる形をとっています。

前提知識と向かない読者、Python の版との関係

前提は、変数や条件分岐、ループ、関数、クラスといった Python の基本を一通り書けることです。まったくの初心者が最初に読む本ではなく、Python 本の選び方 でいえば入門の次の段階に置く本にあたります。話題を一つずつ拾い読みできる作りなので、体系立てて言語仕様を網羅した解説書や、Web 開発やデータ分析といった特定の用途の手順書を探している人には向きません。また 2020 年 4 月の刊行のため、2021 年の Python 3.10 で加わった match 文など、刊行後に入った構文は含まれていません。第 7 章の switch/case のエミュレートのような話題は、新しい版の Python を使う場合は match 文と比べて読むと理解が深まります。

入門書の次に何を読むか迷っていて、自分のコードが「動くけれど Python らしくない」と感じている人にとって、本書は日々の書き方を一つずつ改善していくための話題集になります。気になる節から読み、手元のコードに一つずつ取り入れていけば、他人の書いた Python のコードを読むときにも意図をつかみやすくなります。

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: