要創建自定義序列類型,可以通過繼承Python內置的collections.abc.Sequence
類來實現。以下是一個簡單的示例:
from collections.abc import Sequence
class MySequence(Sequence):
def __init__(self, data):
self._data = data
def __getitem__(self, index):
return self._data[index]
def __len__(self):
return len(self._data)
def __iter__(self):
return iter(self._data)
def __contains__(self, item):
return item in self._data
def index(self, item):
return self._data.index(item)
def count(self, item):
return self._data.count(item)
# 創建一個實例
my_seq = MySequence([1, 2, 3, 4, 5])
# 測試方法
print(my_seq[2]) # 輸出: 3
print(len(my_seq)) # 輸出: 5
print(3 in my_seq) # 輸出: True
print(my_seq.index(4)) # 輸出: 3
print(my_seq.count(2)) # 輸出: 1
在上面的示例中,我們定義了一個名為MySequence
的自定義序列類型,它繼承自collections.abc.Sequence
類,并實現了必要的方法來支持序列操作。您可以根據自己的需求來定義更多的方法或屬性來完善自定義序列類型。