【发布时间】:2016-07-24 04:18:47
【问题描述】:
我有一个简单的类,它将对象列表作为输入,我想确保我可以对该操作执行切片。
class MyClass(AbstractLocationClass):
def __init__(locations=None, **kwargs):
if locations is None:
locations = []
self._locations = locations
#... do other stuff with kwargs..
我希望允许用户执行以下操作:
m = MyClass(locations=[[1,2],[2,3],[3,4]])
sliced = m[0:1]
print sliced
>>> [[1,2],[2,3]]
我知道我必须重写 __getitem__,但我不确定如何处理所有符号类型,如 obj[0]、obj[1:2] 等...
有人可以就实现此功能的正确方法提出建议。
【问题讨论】:
标签: python python-2.7