我正在使用Python的5小时左右的经验,到目前为止,我对它的功能印象深刻。我现在的努力是为了作一个简短的企图在Stream类,用于其代码如下:我可以让我的课在Python中的“in”关键字中玩吗?
class Stream:
"""A Basic class implementing the stream abstraction. """
def __init__(self,data,funct):
self.current = data
self._f = funct
def stream_first(self):
"""Returns the first element of the stream"""
return self.current
def stream_pop(self):
"""Removes and returns the first element of the stream. """
temp = self.current
self.current = self._f(self.current)
return temp
享受一定的成功还有,我试图让一个BoundedStream类行为基本上像无界一个,除了在某个点它耗尽了元素。我现在的问题是,看到任何这样的有界流有一些有限的元素,应该可以迭代它们。如果我使用明确的列表,我可以使用Python的in
关键字和for
循环来干净地完成此操作。我想为自己的班级保持清洁。是否有一些我可以实现的方法或任何其他语言功能,可以让我做到这一点?任何你可能会提供给菜鸟的答案或其他帮助将不胜感激!
-David
P.S.
对于那些想知道的,有限流的推动力是我尝试了内置函数range
,但是Python声称我想看的范围太大了。为了提高记忆效率,我转向Streams。
* Python声称我想要查看的范围太大* - 你能记得Python说它是如何声称它做出的?看到你的代码和产生的错误将是非常有趣的。 – 2010-12-11 08:57:39
您想如何定义“BoundedStream”类的界限? – martineau 2010-12-11 09:15:34