все Python 3randomпонятие
random.seed
воспроизводимость
Инициализирует генератор псевдослучайных чисел. Одинаковый seed — одинаковая последовательность.
Синтаксис
random.seed(a=None)
Классическая ошибка — звать seed с одним и тем же числом внутри цикла: генератор каждый раз откатывается в начало и выдаёт одно и то же значение. Seed ставят один раз на старте и только ради воспроизводимости; без него (seed(None)) генератор сам берёт энтропию у ОС. Одинаковая последовательность random() на одинаковом seed гарантирована документацией, а вот для shuffle и sample такой гарантии между версиями Python нет.
Примеры
import random
random.seed(42)
first = [random.random() for _ in range(3)]
random.seed(42)
second = [random.random() for _ in range(3)]
print(first == second) # → True — то же зерно, та же последовательность
print(round(first[0], 3)) # → 0.639
random.seed('hello') # зерном может быть и строка
random.seed() # без аргумента — из системного источника случайности
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности