開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)のまとめ演習2(リストの機能のオーバーロード)を解いてみる。
その他参考書籍
2.
コード(TextWrangler)
sample.py
#!/usr/bin/env python # -*- coding: utf-8 -*- class MyList: def __init__(self,data): self.data = [] for x in data: self.data.append(x) def __add__(self,other): return MyList(self.data + other) def __getitem__(self,offset): return self.data[offset] def __len(self): return len(self.data) def append(self,x): self.data.append(x) def sort(self): self.data.sort() def __repr__(self): return repr(self.data) def __str__(self): return str(self.data) if __name__ == "__main__": a = MyList([5,1,4,2,3]) b = MyList("kamimura") print(a) print(b) print(a + [1,2,3,4,5]) print(b + [1,2,3,4,5]) for x in [a,b]: print(x[1]) for x in [a,b]: for y in x: print(y,end=",") print() for x in [a,b]: print(x[1:4]) a.append(100) b.append('python') for x in [a,b]: print(x) for x in [a,b]: x.sort() print(x)
入出力結果(Terminal)
$ ./sample.py [5, 1, 4, 2, 3] ['k', 'a', 'm', 'i', 'm', 'u', 'r', 'a'] [5, 1, 4, 2, 3, 1, 2, 3, 4, 5] ['k', 'a', 'm', 'i', 'm', 'u', 'r', 'a', 1, 2, 3, 4, 5] 1 a 5,1,4,2,3, k,a,m,i,m,u,r,a, [1, 4, 2] ['a', 'm', 'i'] [5, 1, 4, 2, 3, 100] ['k', 'a', 'm', 'i', 'm', 'u', 'r', 'a', 'python'] [1, 2, 3, 4, 5, 100] ['a', 'a', 'i', 'k', 'm', 'm', 'python', 'r', 'u'] $
メモ: 今日はいつもより時間がかかった上に、よくわからないことが残ったままで終了。
0 コメント:
コメントを投稿