2章さまざまなシーケンス
もう気づかれているかもしれませんが、ここで紹介した操作の中には文字列やリスト、そしてテーブルのいずれにも同じようにふるまうものがあります。これら3つはトレインと呼ばれます。(中略)
FORコマンドもすべてのトレインに対して利用できます。—— Leo Geurts、Lambert Meertens、Steven Pemberton
『ABC Programmer's Handbook』†1
[†1] Leo Geurts、Lambert Meertens、Steven Pemberton、『ABC Programmer's Handbook』(Bosko Books)、8ページ
Pythonが誕生する前、GuidoはABC言語のコントリビューターでした。この言語は、初心者向けのプログラミング環境を設計するという10年にわたるプロジェクトの成果です。今日我々がPythonicだと考えているアイデアの多くが、実はABC言語を起源としています。例えば異なるシーケンス型に対する汎用的な操作や、組み込みのタプルとマッピングの型、インデントを使った構造の表現、変数宣言なしの強い型付けなどがこれに当てはまります。Pythonがとてもユーザーフレンドリーなのは、こうした背景があってのことなのです。
PythonがABCから受け継いでいる、シーケンスへの統一的な扱いについてもう少し見てみましょう。文字列やリスト、バイト列、配列、XMLの要素、データベースの検索結果などがいずれも、豊富かつ共通の操作に対応しています。例えばイテレート処理、スライス、ソート、連結などが可能です。
Pythonで利用可能な各種のシーケンス型についてあらかじめ知っておけば、いわゆる「車輪の再発明」を防げます。そしてこれらの型が持つ共通のインターフェースを学ぶと、既存のシーケンス型にも未知のシーケンス型にも対応可能な新しいAPIを設計しようという意欲がわいてきます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access