вы можете сделать это без установки seed
. мы можем сделать это, сохранив предыдущее случайное состояние и назначив его следующему случайному вызову. это обеспечит генерацию тех же чисел.
Это было взято из python документов.
random.getstate()
Вернуть объект, фиксирующий текущее внутреннее состояние генератора. Этот объект можно передать в setstate () для восстановления состояния.
подробнее о модуле random см. python docs random
import random
prev_state = random.getstate()
num1 = random.randint(1, 1000000)
random.setstate(prev_state)
num2 = random.randint(1, 1000000)
print num1==num2
output
True
Теперь в вашем случае вы можете сохранить состояние в объекте класса, а не в экземпляре, см. Ниже. поэтому в каждом новом экземпляре класса вы получаете одно и то же случайное число.
class Unique_Key(object):
intial_random_state = prev_state = random.getstate()
def __init__(self):
random.setstate(Unique_Key.intial_random_state)
self.uni_k =random.randint(1, 1000000)
x = Unique_Key()
y = Unique_Key()
вывод
print x.uni_k == y.uni_k
True