《41》要素数:メソッド __len__〈Python 2.x 版〉

実録:はじめてのプログラミング記事一覧
《41》要素数:メソッド __len__

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
2009年3月11日(水)

今日の進捗

  • The Python Standard Library: Mapping Types — dict
  • Python.use(better) -- セミナー研修テキスト
  • 連想リスト課題を「続・ひよ子のきもち」で公開
Comment
本人:野中 ちょっとでも油断してるとすぐに無限ループになってしまうので大変です。
担当:伊藤/本間 。(^^)

素数:メソッド __len__

組み込み型 dict と同様に、連想リストの要素数が得られると便利です。すると、

def ex():
    m = myDict()
    print m,len(m),"\t#",m.__class__.__name__
    for e in "ABC":
        m[e] = ord(e)   ; print m,len(m)

>>> ex()
{} 0 	# myDict
{'A': 65} 1
{'A': 65, 'B': 66} 2
{'A': 65, 'B': 66, 'C': 67} 3

組み込み関数 len と同様に、引数に指定した連想リストの要素数が得られます。

class myDict(object):
    ...
    def __len__(self):
        return len(self._keys)

メソッド __len__ は、組み込み関数 len に呼応して、要素数を得る手段を提供します。ここでは、組み込み関数 len の機能を実現するのに、その len を利用しているのが興味深いところです。

Tips

Last updated♪09/03/13