Python 进阶 (三十)Python3 实现随机数

一、random 随机函数
random是用于生成随机数的,可以利用它随机生成数字或者选择字符串。
random.seed(x)改变随机数生成器的种子seed。一般不必特别去设定seed,Python会自动选择seed。random.random()用于生成一个随机浮点数 n,0 <= n < 1random.uniform(a,b)用于生成一个指定范围内的随机浮点数,生成的随机整数a<=n<=b;random.randint(a,b)用于生成一个指定范围内的整数,a 为下限,b 为上限,生成的随机整数 a<=n<=b;若 a=b,则 n=a;若 a>b,报错random.randrange([start], stop [,step])从指定范围[start,stop)内,按指定基数递增的集合中获取一个随机数,基数缺省值为 1random.choice(sequence)从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等。random.shuffle(x[,random])用于将一个列表中的元素打乱(洗牌),会改变原始列表。random.sample(sequence,k)从指定序列中随机获取 k 个元素作为一个片段返回,不会改变原有序列。
但是,有一点需要注意:python random 是伪随机数。
那么,可以借用 python random 实现真随机数吗?答案是 No。所谓真随机数,是要求根据绝对随机事件产生的数,也就是说要求要有一个无因果关系的随机事件,那么,这其实只存在与哲学领域……
目前的随机数产生都是统计上的随机,因为随机源都是自然事件,顶天了算是混沌变量,绝对的无因果大概是不存在的。
不过统计随机基本上都够用了吧……还是老老实实的用 random 模块吧....
二、代码演示
执行结果:
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/70c313b3855d1653dcef7a689】。文章转载请联系作者。









评论