私は5時間ほどPythonに関する私の経験を目指しています。これまでのところ、私はそれができることにかなり感銘を受けました。私の現在の努力は、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
は、私がそれを除いて、無制限の1のように、基本的に振る舞うBoundedStreamクラスを作ってみましたそれは要素が不足している特定の点です。私の質問は、このような束縛されたストリームには有限の数の要素があることを見て、それらを反復することができるはずです。明示的なリストを使用していた場合は、Pythonのin
キーワードとfor
ループを使用してこれをきちんと実行できます。私は自分のクラスの清潔さを保ちたいと思います。実装する方法や他の言語機能がありますか?あなたがルーキーに提供する可能性のある回答やその他の助けは、非常に高く評価されます!
-デビッド
P.
バインドされたストリームの魅力は、組み込みのrange
関数を試したことですが、Pythonは、私が見たい範囲が大きすぎると主張しました。私はメモリ効率のためにストリームに目を向けました。
* Pythonは、私が見たい範囲が大きすぎると主張しました* - Pythonがその主張をどのように表現しているかを覚えていますか?あなたのコードと結果として生じるエラーを見るのは非常に面白いでしょう。 –
'BoundedStream'クラスの境界をどのように定義したいのですか? – martineau