《23》添字付け:メソッド __getitem__〈Python 3.0 版〉
実録:はじめてのプログラミング《記事一覧》
《23》添字付け:メソッド __getitem__
《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第3版♪2009/02/28 ● 2009年2月13日(金)
関連記事
添字付け:メソッド __getitem__
組み込み型 list と同様に、添字を利用して各要素を参照できると便利です。そこで、
def ex(): s = myList("ABC") print s,"\t#",s.__class__.__name__ for e in s: # case1 print(e) for i,e in enumerate(s): # case2 print("{0:d}: {1}".format(i, s[i])) >>> ex() ['A', 'B', 'C'] # myList A B C 0: A 1: B 2: C
各要素を参照するには、添字(整数)が必要です。そのため(case1)単純な for 文と違って(case2)組み込み関数 enumerate を利用するなど、冗長な表現になります。
class myList(object): ... def __getitem__(self, key): for i,e in enumerate(self): if i==key: return e
メソッド __getitem__ は、演算子 [] に呼応して、添字を利用してシーケンス内の要素を得る手段を提供します。for に続く制御変数 i が、指定した引数 key と同じ値になるとき、その要素 e をリターン値にします。
Tips
Last updated♪09/03/12