![](/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.