Python.use(better) #課題:組み込み型 list

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

課題:組み込み型 list

《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

組み込み型と同等の機能を実現する課題を通して「OOP」の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。

episode 《入門編》
2002-04-21 Python.use(better) #組み込み型 -- list
応用編で作成するツールを利用して「組み込み型 list」の理解を深めます。
episode 《基礎編》
2002-02-04 ★★ Python.use(better) #list: step00 -- class myList(object)
メソッド __init__ は、クラス呼び出しに呼応して、生成したインスタンスを初期設定します。
2002-02-05 ★★ Python.use(better) #list: step01 -- def __repr__(self)
メソッド __repr__ は、組み込み関数 repr に呼応して、オブジェクトの文字列表現を与えます。括弧 [] の中に、各要素をカンマ「, 」と空白文字で区切って列挙します。
2002-02-06 ★★ Python.use(better) #list: step02 -- def append(self, item)
メソッド append は(組み込み関数 list に準拠して)リストの末尾に要素を追加します。
2002-02-07 ★★ Python.use(better) #list: step03 -- def __init__
メソッド __init__ は、クラス呼び出しに呼応して、生成したインスタンスを初期設定します。引数 sequence を指定すると、sequence の各要素 e を、連結リスト self の末尾に追加 append します。
2002-02-08 ★★ Python.use(better) #list: step04 -- def __len__(self)
メソッド __len__ は、組み込み関数 len に呼応して、リストの長さ(要素数)を与えます。先頭のノード self.head から各要素を順にたどりながら、カウンターの値を1つずつ増やします。
2002-02-11 Python.use(better) #list: step05 -- def __iter__
2002-02-12 Python.use(better) #list: step06 -- def __contains__
2002-02-13 Python.use(better) #list: step07 -- def count
2002-02-14 Python.use(better) #list: step08 -- def index
2002-02-15 ★★ Python.use(better) #list: step09 -- def __getitem__(self, key)
メソッド __getitem__ は、演算子 [] に呼応して、各要素の値を参照します。引数 key と同値なら、リストの要素をリターン値にします。引数 key と同値のものが見つからないなら、例外 IndexError を生成します。
2002-03-18 ★★ Python.use(better) #list: step10 -- def __setitem__(self, key, value)
メソッド __setitem__ は、演算子 [] に呼応して、各要素の値を設定します。連結リストの各ノードを順にたどりながら、引数 key と同値なら、引数 key の値を設定します。引数 key と同値でないなら、次のノードを再設定するともに、カウンターの値を1つ増やします。
2002-03-19 Python.use(better) #list: step11 -- def insert
2002-03-20 Python.use(better) #list: step12 -- def extend
2002-03-21 ★★ Python.use(better) #list: step13 -- def __delitem__
メソッド __delitem__ は、del 文に呼応して、任意の要素を削除します。連結リストの各ノードを順にたどりながら、引数 key と同値なら、ノードを削除します。引数 key と同値のものが見つからないなら、例外 IndexError を生成します。
step14 -- def remove(self, value)
step15 -- def pop(self)
□□□□□□

事例:モジュールを起動する

■ 全項目を確認する

全ステップの「項目」を確認するには、関数 do を利用します。

$ python -i myList.py
>>> do()
 0: step00 -- class myList(object)
 1: step01 -- def __repr__(self)
 2: step02 -- def append(self, item)
 3: step03 -- def __init__(self, sequence=None)
 4: step04 -- def __len__(self)
 5: step05 -- def __iter__(self)
 6: step06 -- def __contains__(self, value)
 7: step07 -- def count(self, value)
 8: step08 -- def index(self, value)
 9: step09 -- def __getitem__(self, key)
10: step10 -- def __setitem__(self, key, value)
11: step11 -- def insert(self, index, item)
12: step12 -- def extend(self, iterable)
13: step13 -- def __delitem__(self, key)
14: step14 -- def remove(self, value)
15: step15 -- def pop(self)
...
>>>

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


関連記事

Last updated♪2009/11/29