python中的随机数生成
参考:random模块官方文档:https://docs.python.org/3/library/random.html
random模块原理:使用MersenneTwister作为伪随机数生成器,它是完全确定的,不适合于密码领域,密码中随机数需要使用模块secrets。同时,它有周期。(这里不太理解)
“Almostallmodulefunctionsdependonthebasicfunctionrandom(),whichgeneratesarandomfloatuniformlyinthesemi-openrange[0.0,1.0).PythonusestheMersenneTwisterasthecoregenerator.Itproduces53-bitprecisionfloatsandhasaperiodof2**19937-1.TheunderlyingimplementationinCisbothfastandthreadsafe.TheMersenneTwisterisoneofthemostextensivelytestedrandomnumbergeneratorsinexistence.However,beingcompletelydeterministic,itisnotsuitableforallpurposes,andiscompletelyunsuitableforcryptographicpurposes.”
常用函数设置随机种子n=123random.seed(n)生产单个随机数a=random.random()#[0,1)间浮点数a=random.uniform(2,4.)#[2,4)间浮点数a=random.randint(2,6)#[2,6]间整数a=random.randrange(3,9,2)#start=3,end