2012年9月6日木曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の26章(クラスに関連する高度なテクニック)1を解いてみる。

その他参考書籍

1.

  1. デリゲーションを使う
  2. ビルトインブジェクとのサブクラスの作成

の2つの方法がある。

ビルトインオブジェクトのサブクラスの作成をして、インデクシングで常に先頭の要素を返す(機能の拡張というよりは退化?)ようにしてみる。

コード(TextWrangler)

sample.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

class MyList(list):
 def __getitem__(self,i):
  return list.__getitem__(self,0)

if __name__ == "__main__":
 a = MyList([1,2,3,4,5])
 for x in range(len(a)):
  print(x,":",a[x])

入出力結果(Terminal)

$ ./sample.py
0 : 1
1 : 1
2 : 1
3 : 1
4 : 1
$

0 コメント:

コメントを投稿