#coding=utf-8 __author__ = 'mac' class Ring(object): def __init__(self,l): if not len(l): raise "ring must have at least one element" self._data=l #__repr__打印,以list打印 def __repr__(self): return repr(self._data) def __len__(self): return len(self._data) def __getitem__(self, i): return self._data[i] def turn(self): last=self._data.pop(-1) self._data.insert(0,last) def first(self): return self._data[0] def last(self): return self._data[-1] l=[{1:1},{2:2},{3:3}] c=Ring(l) print c print c.first() print c.last() c.turn() print c c.turn() print c class Fib(object): def __getitem__(self, n): if isinstance(n,int): a,b=1,1 for x in range(n): a,b=b,a+b return a if isinstance(n,slice): start=n.start stop=n.stop a,b=1,1 L=[] for x in range(stop): if x >=start: L.append(a) a,b=b,a+b return L f=Fib() print f[0:5]
__repr__等内置函数==实现使用列表实现循环数据结构
最新推荐文章于 2024-02-25 18:30:31 发布