モジュール内の 1 つのクラスでPython 関数を使用する場合random.seed(my_seed)
、このシードは、このモジュールでインスタンス化された他のすべてのクラスに残りますか?
質問する
8199 次
1 に答える
34
はい、シードはRandom()
モジュール内の (非表示の) グローバル インスタンスに設定されています。ドキュメントから:
このモジュールによって提供される関数は、実際には
random.Random
クラスの隠しインスタンスのバインドされたメソッドです。の独自のインスタンスをインスタンス化して、Random
状態を共有しないジェネレーターを取得できます。
Random()
シードを別々に保持する必要がある場合は、別々のインスタンスを使用してください。インスタンス化するときに新しいシードを渡すことができます。
>>> from random import Random
>>> myRandom = Random(anewseed)
>>> randomvalue = myRandom.randint(0, 10)
クラスは、モジュールと同じインターフェースをサポートします。
于 2012-09-11T11:51:58.127 に答える