[Python-ideas] Globally configurable random number generation
Serhiy Storchaka
storchaka at gmail.com
Mon Sep 14 17:04:35 CEST 2015
On 14.09.15 16:32, Nick Coghlan wrote:
> * make random.Random a subclass of SeedableRandom that deprecates
> seed(), getstate() and setstate()
I would make seed() and setstate() to switch to seedable algorithm. If
you don't use seed() or setstate(), it is not important that the
algorithm is changed. If you use seed() or setstate(), you expect
reproducible behavior.
> * random.Random becomes an alias for random.SeedlessRandom
This breaks compatibility with the data pickled in older Python.
> In 3.7, "random.set_default_instance(random.seedable_random)" will opt
> back in to the deterministic PRNG when using the module level
> functions process wide, while "from random import seedable_random as
> random" will do so on a module by module basis.
What to do with "from random import random" deep in third-party module?
It caches random.random in the module dictionary.
More information about the Python-ideas
mailing list