Если я использую функцию Python random.seed(my_seed)
в одном классе в моем модуле, будет ли это семя оставаться для всех других классов, созданных в этом модуле?
Какова область случайного семени в Python?
Ответ 1
Да, семя установлено для (скрытого) глобального экземпляра Random()
в модуле. Из документации:
Функции, предоставляемые этим модулем, являются фактически связанными методами скрытого экземпляра класса
random.Random
. Вы можете создавать собственные экземплярыRandom
, чтобы получить генераторы, которые не разделяют состояние.
Используйте отдельные экземпляры Random()
, если вам нужно сохранить семена отдельно; вы можете передать новое семя при его создании:
>>> from random import Random
>>> myRandom = Random(anewseed)
>>> randomvalue = myRandom.randint(0, 10)
Класс поддерживает тот же интерфейс, что и модуль.