2012年8月29日水曜日

開発環境

『初めての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 コメント:

コメントを投稿