Python.use(better) #OOP への扉を開く:コンテナー

記事一覧 Python.use(better)《Python3.1》

OOP への扉を開く:コンテナー

《著》真樹育未、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第1版♪1988/05/23 ● 第2版♪2001/01/29 ● 第3版♪2009/12/15

オブジェクト指向プログラミング〔OOP〕の基本概念の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。

コンテナー(コレクション)

任意のオブジェクトを保持するコンテナー(コレクション)として、

  • シーケンス〔sequence〕
  • 写像〔map〕

が挙げられます。

シーケンス

文字列〔character string〕
2006-02-06 Python.use(better) #OOP:文字列〔character string〕
文字列は、他の(長さが1の)文字列を保持するコンテナーと見なせます。添字(整数)を用いて各要素を参照すると、他の(長さが1の)文字列が得られます。この概念モデルを見ると、あたかも「添字(整数)と同じ名前の属性変数を介して、他の文字列を参照している」かのようです。リストとの違いは(添字を介して)参照できるのが「文字列」オブジェクトに限定されることです。
2006-02-14 Python.use(better) #OOP:文字列 -- 連結
演算子 + を利用するたびに、新たに連結した文字列オブジェクトが生成されます。演算子 + に呼応して、特殊メソッド __add__ が起動されます。関数オブジェクトは、関数呼び出しによって(引数を介して)他のオブジェクトと関連付けられ、リターン値(オブジェクト)を生成します。このとき、引数(変数と同様)によってオブジェクトは束縛されます。そして、メソッドの本体に記述したコードを実行した後で、引数による束縛は解かれます。
2006-02-15 Python.use(better) #OOP:文字列 -- 特殊メソッド
演算子 + に呼応して、特殊メソッド __add__ が起動されます。関数オブジェクトは、関数呼び出しによって(引数を介して)他のオブジェクトと関連付けられ、リターン値(オブジェクト)を生成します。このとき、引数(変数と同様)によってオブジェクトは束縛されます。オブジェクトの内部構造を捨象すると、その全体像が見えてきます。ここでは、変数によって束縛されるものと、引数によって束縛されるものとは、同じオブジェクトです。
リスト〔list〕
集合〔set〕
タプル〔tuple〕
□□□□□□

写像

辞書〔dict〕
2006-02-07 Python.use(better) #OOP:辞書〔dict〕
辞書は、写像を実現したもので、任意の写像対(キー:値)を要素とする集合と見なせます。
2006-02-08 Python.use(better) #OOP:辞書 -- キー集合と値集合
辞書における、キー集合 dict_keys は定義域に、値集合 dict_values は値域に相当します。「2つの集合の各要素が、どのように対応するかを規定する」のが写像です。各写像対をオブジェクトと見なすと、写像とは「写像対を要素とする集合」と見なせます。リストとは、キー集合(定義域)の要素を「整数」オブジェクトに限定したものと見なせます。
□□□□□□

》こちらに移動中です《
TOP


関連記事

Last updated♪2009/12/25