![](/img/trans.png)
[英]How do you save a Python object into pymongo? (i.e. what method/return value do I need to override)
[英]What method do I need to override for list child to return internal data array instead of itself?
我需要一個動態大小隊列,因此我繼承了list
和Iterable
並且測試了所有諸如附加,索引和迭代之類的內容,但是存在一個小問題。 諸如str(DataSet)之類的方法會返回一個空列表,而Python調試器的確會顯示一個空列表,這是預期的,因為我沒有在列表父目錄中添加而是在內部數據中追加了列表。 我需要重寫什么才能不返回self
但返回self.data
?
class DataSet(collections.Iterable, list):
data = collections.deque()
index = 0
max = 3
def __add__(self, other):
self.append(other)
def append(self, item):
if len(self.data) >= self.max:
self.data.popleft()
self.data.append(item)
def __next__(self):
if self.index < len(self.data):
ret = self.data[self.index]
self.index += 1
return ret
raise StopIteration
def __getitem__(self, i):
return self.data[i]
def __iter__(self):
self.index = 0
return self
def setMax(self, max):
self.max = max
def __len__(self):
return len(self.data)
覆蓋
def __str__(self):
return str(self.data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.