中に他のクラスへのクラス参照を渡します。Pythonは私が可変クラスとしてデータ分配クラスを作成しようとしています建設
は、私は別のクラスを持っている:
class Env(object):
def __init__(self, distributor):
self.distributor = distributor
self.target_trackid = 0 # init
def reset(self):
self.target_trackid = self.distributor.next_sen()
私は多くのEnv
インスタンスを作成したときに、各Env
インスタンスは異なるデータポイントを取得します。
だから私は私のインスタンスを作成するためにこれを使用します。
ddist = DataDistributor()
env = Env(ddist)
envs = [pickle.loads(pickle.dumps(env)) for _ in range(12)]
envs[0].reset()
envs[1].reset()
envs[2].reset()
print envs[0].target_trackid
print envs[1].target_trackid
print envs[2].target_trackid
、結果がすべて同じである:0の束。
私はPythonはこれを処理しているか正確にはわからない:(と私が達成したいものを達成するための実行可能な解決策があるかどうか!
あなたは何をしようとしているのか分かりません。ダンプしてすぐにピクルスを積み込む点は何ですか?そして、あなたはどんなアウトプットを期待していますか? –
あなたは 'Env'の_one_インスタンスを持っています。現在、unpicklingはピクルされた状態に基づいて新しいインスタンスを作成します。 –
Ahhhh !!!!はい。私はピクルが問題であることに気付かなかった。私は、コードの 'pickle'部分を書きませんでした。これは、私が使用しようとしているライブラリの中にあります。私はその部分を変更し、今それは動作します!ありがとう!! –