Pythonでランダムモジュールを学習するには、最初に理解する必要のある関数は、乱数シードを設定するメソッドrandom.seed()です。
(1)random.seed()関数の理解
ランダムモジュールは、メルセンヌツイスターアルゴリズムを使用して乱数を計算および生成します。これは不確定なアルゴリズムですが、初期化シードはrandom.seed()関数を使用して変更できます。
シード括弧内の数値は、コンピューターが乱数を作成するための基礎となります。数値が決定された後(seed(1)など)、後続のすべてのランダム操作は決定論的です。
一般的な理解は次のとおりです。同じseed()値が使用される場合、毎回生成される乱数は同じになります。
(2)random.seed()関数を使用する場合
seed()メソッドは、乱数ジェネレーターのシードを変更します。他の乱数モジュール関数を呼び出す前にこの関数を呼び出して、乱数の一貫性を保つことができます。
(3)文法
import random
random.seed( [x] )
パラメータxは、乱数ジェネレータのシードを変更するためのものです。この値が設定されていない場合、システムは時間に応じてこの値を自動的に選択します。このとき、時間差により、毎回生成される乱数が異なります。
(4)例
import random
# 不设置参数值时,产生的随机数是不一样的
random.seed()
print('不设置参数值1:',random.random())
random.seed()
print('不设置参数值2:',random.random())
# 设置参数值为1,产生的随机数一样
random.seed(1)
print('设置参数值1:',random.random())
random.seed(1)
print('设置参数值2:',random.random())
random.seed(1)
print('设置参数值3:',random.random())
# 改变参数值为2,产生的随机数也会发生变化
random.seed(2)
print('改变参数值1:',random.random())
random.seed(2)
print('改变参数值2:',random.random())