Подтвердить что ты не робот

Какова область случайного семени в Python?

Если я использую функцию Python random.seed(my_seed) в одном классе в моем модуле, будет ли это семя оставаться для всех других классов, созданных в этом модуле?

4b9b3361

Ответ 1

Да, семя установлено для (скрытого) глобального экземпляра Random() в модуле. Из документации:

Функции, предоставляемые этим модулем, являются фактически связанными методами скрытого экземпляра класса random.Random. Вы можете создавать собственные экземпляры Random, чтобы получить генераторы, которые не разделяют состояние.

Используйте отдельные экземпляры Random(), если вам нужно сохранить семена отдельно; вы можете передать новое семя при его создании:

>>> from random import Random
>>> myRandom = Random(anewseed)
>>> randomvalue = myRandom.randint(0, 10)

Класс поддерживает тот же интерфейс, что и модуль.