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 the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.