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-01-28@ | Python.use(better) #Stack: step00 -- def Stack():。★ |
2002-01-29 ★ | Python.use(better) #Stack: step01 -- def push(self, item):関数オブジェクト push を用意します。関数呼び出し push() でスタックに要素を積むと、リターン値として None が得られます。関数 pop は未定義なので、例外 NameError を生成します。 |
2002-01-30 ★ | Python.use(better) #Stack: step02 -- def pop(self):関数オブジェクト pop を用意します。関数呼び出し pop() でスタックから要素を降ろすと、その要素がリターン値になります。空のスタックに関数 pop を適用しようとすると、例外 IndexError を生成します。 |
episode | 《基礎編》 |
2002-01-31 | Python.use(better) #Stack: step03 -- def __repr__(self):。★ |
2002-02-01 | Python.use(better) #Stack: step04 -- def __getattr__(self, name)。★ |
2002-04-04 | Python.use(better) #Stack: step05 -- 高階関数。★ |
2002-04-05 | Python.use(better) #Stack: step06 -- クロージャー。★ |
□□□□□□ | □ |
>>> 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_func.py >>> do() 0: step00 -- def Stack(): 1: step01 -- def push(self, item): 2: step02 -- def pop(self): 3: step03 -- def __repr__(self): 4: step04 -- def __getattr__(self, name): 5: step05 -- higher order function 6: step06 -- closure >>>
》こちらに移動中です《
↑TOP