Python.use(better) #OOP:文字列〔character string〕

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

OOP:文字列〔character string〕

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

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

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

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

  • シーケンス〔sequence〕
  • マップ〔map〕

が挙げられます。

文字列

文字列は、他の(長さが1の)文字列を保持するコンテナーと見なせます。

>>> s = "AB"; s; id(s)
'AB'
20275776
>>> s = "AB"; s; id(s)
'AB'
20275776
>>> c0,c1 = s; c0; id(c0); c1; id(c1)
'A'
1014432
'B'
1014464


変数 s の束縛を解いて、文字列オブジェクト 'AB'〈id:20275776〉を解放しても、再束縛によって「同じ」文字列オブジェクト 'AB'〈id:20275776〉を参照します。

■ 添字を利用するということ

添字(整数)を用いて各要素を参照すると、他の(長さが1の)文字列が得られます。この概念モデルを見ると、あたかも

  • 「添字(整数)と同じ名前の属性変数を介して、他の文字列を参照している」

かのようです。リストとの違いは(添字を介して)参照できるのが「文字列」オブジェクトに限定されることです。

■ 文字列を連結するということ
>>> s0 = "A"+"B"; s0; id(s0)
'AB'
20275776
>>> s0 = "A"+"B"; s0; id(s0)
'AB'
20275776
>>> c0,c1 = s0; c0; id(c0); c1; id(c1)
'A'
1014432
'B'
1014464


変数 s0 の束縛を解いて、連結した文字列オブジェクト 'AB'〈id:20275776〉を解放しても、再束縛によって「同じ」文字列オブジェクト 'AB'〈id:20275776〉を参照します。これは、変数 s が束縛する文字列オブジェクトと同じものです。演算子 + によって連結された文字列は、要素として(長さが1の)文字列を保持するコンテナーと見なせます。

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


関連記事

Last updated♪2009/12/25