python的item循环方法_python __getitem__切片部分的循环问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#传入参数可能是int或者slice

class fib2():

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

if start is None:

start=0

a,b=1,1

l=[]

for x in range(stop):

if x>=start:

l.append(a)

a,b=b,a+b

return l

class fib3():

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

if start is None:

start=0

a,b=1,1

for x in range(stop):

a,b=b,a+b

return a

你可能感兴趣的:(python的item循环方法)