What Is The Scope Of A Random Seed In Python?
If I use the Python function random.seed(my_seed) in one class in my module, will this seed remain for all the other classes instantiated in this module?
Solution 1:
Yes, the seed is set for the (hidden) global Random() instance in the module. From the documentation:
The functions supplied by this module are actually bound methods of a hidden instance of the
random.Randomclass. You can instantiate your own instances ofRandomto get generators that don’t share state.
Use separate Random() instances if you need to keep the seeds separate; you can pass in a new seed when you instantiate it:
>>>from random import Random>>>myRandom = Random(anewseed)>>>randomvalue = myRandom.randint(0, 10)The class supports the same interface as the module.
Post a Comment for "What Is The Scope Of A Random Seed In Python?"