Python.use(better) #課題:スタック《クラス版》
‖記事一覧‖ Python.use(better)《Python3.1》
課題:スタック《クラス版》
《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
課題を作成する過程を通して「クラス」の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。
episode | 《入門編》 |
---|---|
2002-04-22 ★ | Python.use(better) #Stack: step00 -- class Stack(list)新たなクラスを定義するには、予約語 class を利用します。class に続く名前 Stack を介して、新たな「クラス」オブジェクトを参照できます。クラスの名前 class に続く括弧の中には、その親になるクラス(組み込み型)list を指定します。新たなクラス Stack は、組み込み型 list の子クラスになります。すると、すべての Stack インスタンスは、自動的に list の機能を継承します。つまり、list に適用できるすべてのメソッドは、Stack インスタンスにも有効です。 |
2002-04-23 ★ | Python.use(better) #Stack: step01 -- def push(self, item)新たなメソッドを定義するには、予約語 def を利用します。def に続く名前 push を介して、新たな「メソッド」オブジェクトを参照できます。メソッドの名前 push に続く括弧の中には、その対象になるインスタンス self に続けて、追加したい要素を表わす引数 item を指定します。 |
episode | 《基礎編》 |
2002-04-24 ★ | Python.use(better) #Stack: step02 -- def pop(self)。 |
□□□□□□ | □ |
- 2002-04-25 Python.use(better) #Stack: step03 -- class Stack(object):
- 2002-04-26 Python.use(better) #Stack: step04 -- def __repr__(self):
- 5: step05 -- def push(self, item):
- 6: step06 -- def pop(self):
>>> s = Stack(); s >>> s.push("A"), s (None, ['A']) >>> s.push("B"), s (None, ['A', 'B']) >>> s.pop(), s ('B', ['A']) >>> s.pop(), s ('A', ) >>> s.pop(), s IndexError: pop from empty list (None, [])
事例:モジュールを起動する
■ 全項目を確認する
全ステップの「項目」を確認するには、関数 do を利用します。
$ python -i stack_class.py >>> do() 0: step00 -- class Stack(list): 1: step01 -- def push(self, item): 2: step02 -- def pop(self): 3: step03 -- class Stack(object): 4: step04 -- def __repr__(self): 5: step05 -- def push(self, item): 6: step06 -- def pop(self): >>>
》こちらに移動中です《
↑TOP