Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:
>>> Fib()[5]
Traceback (most recent call last):
File "", line 1, in
TypeError: 'Fib' object does not support indexing
要表现得像list那样按照下标取出元素,需要实现__getitem__()方法:
class Fib(object):
Python提供切片操作(slice),可以轻松的访问序列中的某段子集元素。Python常见的数据元素list,str,和bytes均提供slice操作。同时切割操作可以通过__getitem__和__setitem__特殊方法实现。
切割的基本操作为:somList[start:end],表示的区间为左闭右开区间,即[start,end)
注意:很多语言的区间都是左闭右开
1. 当start==0或者end==序列长度时,可以省略
a = ['a','b','c','d','e','f']
p