2章シーケンスの配列

ここで述べた処理の中には、テキスト、リスト、テーブルに対して同じように動作するものがあることに気付いたでしょうか。テキスト、リスト、テーブルはまとめてtrainと呼ばれます。(中略)FORコマンドもこのtrainに対して汎用的に動作します。

——Geurts, Meertens & Pemberton『ABC Programmer's Handbook』, p. 8より[EN-06]

冒頭のABC言語は10年に及ぶ研究プロジェクトで、初心者用のプログラミング環境として設計されたものです。Pythonを開発する前、Guidoはこの言語の共同開発者の一人でした。ABCは、わたしたちが現在Pythonicと考えるアイデアをたくさん提供してくれました。シーケンスに対する汎用的な操作、組み込みのタプル型(tuple)およびマップ型(mapping)、インデントによるブロック構造、変数宣言のない強力な型定義などです。Pythonがとてもユーザフレンドリーなのは偶然ではありません。

Pythonは、シーケンスの統一的な処理方法をABCから継承しました。文字列、リスト、バイトシーケンス、配列、XMLの要素、データベースからの応答は、イテレーション、スライス、ソート、連結(concatenation)といった使い勝手のよい一般的な操作方法を共有しています。

Pythonで使えるいろいろなシーケンスがわかれば、同じものを最初から自力で作らなくても済みます。また、共通のインタフェースがあるので、今あるシーケンス型を正しく活用したAPIを書く気になります。これは将来的に開発されるであろうシーケンス型も含みます。

本章の説明は、なじみ深いlist型からPython 3で新しく加わった ...

Get Fluent Python ―Pythonicな思考とコーディング手法 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.