開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の24章(クラスのコーディング(詳細))2を解いてみる。
2.
__getitem__メソッド、__iter__メソッド。
コード(TextWrangler)
sample.py
#!/usr/bin/env python # -*- coding: utf-8 -*- class A: def __getitem__(self,i): return self.data[i] class B: def __init__(self,start,stop): self.i = start - 1 self.stop = stop def __iter__(self): return self def __next__(self): if self.i == self.stop: raise StopIteration self.i += 1 return self.data[self.i] a = A() a.data = "python" for i in range(len(a.data)): print(a[i],end=",") print() s = "python" b = B(0,len(s)-1) b.data = s for x in b: print(x,end=",") print()
入出力結果(Terminal)
$ ./sample.py p,y,t,h,o,n, p,y,t,h,o,n, $
0 コメント:
コメントを投稿