美文网首页
Python序列协议

Python序列协议

作者: Recalcitrant | 来源:发表于2019-06-22 14:46 被阅读0次

Python序列协议

一、序列协议

只要实现了__getitem__和__len__方法,就会被认为是序列。
示例:

class Sequence:
    def __init__(self, string):
        self.str = string

    def __getitem__(self, item):
        return item

    def __len__(self):
        return len(self.str)

二、切片原理

示例:

class Sequence:
    def __init__(self, string):
        self.str = string

    def __getitem__(self, item):
        return item

    def __len__(self):
        return len(self.str)


ss = Sequence("abcdef")
print(ss[1])
print(ss[1:4])
print(ss[1:4:2])
print(ss[1:4:2, 7:9])

components = [1, 2, 3, 4, 5, 6]
step = slice(0, 5, 2)
print(components[step])
运行结果

相关文章

网友评论

      本文标题:Python序列协议

      本文链接:https://www.haomeiwen.com/subject/lvjgfctx.html