Python 2.3 以降では、システムのランダム関数 (Python の C 拡張モジュールとして実装されている) とは独立した Mersenne Twister ジェネレーターを使用します。Mersenne Twister を使用するどのバージョンでも、結果はバージョンとプラットフォーム間で同じになるはずです。
以前は、ジェネレーターを使用して下位互換性を保証できましWichmannHill
たが、残念ながら Python 3.x で削除されたようです。
互換性を確実に保証する必要がある場合は、ドキュメントで推奨されているように、独自のサブクラスを記述します (または、 simplerandomRandom
などの安定した外部実装を使用します)。random
独自に考案した別の基本ジェネレーターを使用する場合は、クラス Random をサブクラス化することもできます。その場合、random()、seed()、getstate()、setstate()、および jumpahead() メソッドをオーバーライドします。オプションで、新しいジェネレーターは getrandbits() メソッドを提供できます — これにより、randrange() が任意の広い範囲にわたって選択を生成できるようになります。