Python.use(better) #list: step00 -- class myList(object)

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

class myList(object)

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

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

■ 全項目を確認する

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

$ python -i myList.py
>>> do()
 0: step00 -- class myList(object)
...
■ 各項目を実行する

各ステップの「動作」を確認するには、関数 do の実引数を指定します。

>>> do(0)
>>> s = myList(); s
<__main__.myList object at 0x12d5ab0>
>>>

事例:コードの解説

def step00():
    """class myList(object)"""

    class myList(object):
        def __init__(self):                         #1:
            self.head = self.tail = Node()

    class Node(object):
        def __init__(self, item=None, next=None):   #2:
            self.item = item
            self.next = next

    ## ----------------------------------------
    def ex___init__(spec, local):               #3: test case
        X = 's = %s(); s'%spec
        print(">>>",X)
        eval(compile(X,"","single"),globals(),local)

    ## ----------------------------------------
    local = locals()                            #@:
    ex___init__(SPEC, local)
■ #1: 初期設定
        def __init__(self):                         #1:
            self.head = self.tail = Node()

メソッド __init__ は、クラス呼び出し myList() に呼応して、インスタンスを初期設定します。

  • 属性 self.head は、先頭のノードを保持します。
  • 属性 self.tail は、末尾のノードを保持します。
■ #2: 初期設定
        def __init__(self, item=None, next=None):   #2:
            self.item = item
            self.next = next

メソッド __init__ は、クラス呼び出し Node() に呼応して、インスタンスを初期設定します。

  • 属性 self.item は、任意の要素を保持します。
  • 属性 self.next は、次のノードを保持します。
■ #3: テストケース
    def ex___init__(spec, local):               #3: test case
        X = 's = %s(); s'%spec
        print(">>>",X)
        eval(compile(X,"","single"),globals(),local)

》こちらに移動中です《

TOP


関連記事

Last updated♪2009/12/06