В Python, что является лучшим способом генерации некоторого случайного числа с использованием определенного семени, но без повторного согласования глобального состояния? В Java вы можете просто написать:
Random r = new Random(seed);
r.nextDouble();
и стандартный Math.random()
не будет затронут. В Python лучшим решением, которое я вижу, является:
old_state = random.getstate()
random.seed(seed)
random.random()
random.setstate(old_state)
Является ли этот идиоматический Python? Это кажется намного менее чистым, чем Java-решение, которое не требует "восстановления" старого семени. Я хотел бы знать, есть ли лучший способ сделать это.