numpy.random.seed()的使用实例解析


Posted in Python onFebruary 03, 2018

这个函数的使用方法,已经有前辈讲解过了,只是自己在测试的时候有一些思考,所以便写了这篇博客。下面是前辈文章的原话:

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

编写如下第一份代码:

from numpy import *
num=0
while(num<5):
  random.seed(5)
  print(random.random())
  num+=1

运行结果为:

0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948

可以看到,每次运行的结果都是一样的

修改代码,如下为第二份代码:

from numpy import *
num=0
random.seed(5)
while(num<5):
  print(random.random())
  num+=1

运行结果为:

0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914

可以看到,和上一份代码的运行结果不同。这里每次的输出结果都是不一样的。这也就提醒了我们在以后编写代码的时候要明白一点:random.seed(something)只能是一次有效。其实仔细想想也很自然,如果不是一次有效,比如说是一直有效,那岂不是会影响到后续的代码中随机数的选取?

这次测试的代码比较可以说是很简单的,但是却暴露了我的一个思维上的漏洞:在这次测试中我虽然明白了:

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

这段话的意思,但是我却先入为主地认为第二份代码的结果应和第一份代码中的一致。而通过反面思考,假设这个函数使用一次后便是一直有效的,那么每次生成的随即数都会相同,但是这样岂不是会影响到后续的代码中随机数的选取?

所以,以后学新的东西的时候,都要问自己傻问题,不断地去测试自己的想法以达到更深的理解。

故对于该函数的使用,可总结为:

seed( ) 用于指定随机数生成时所用算法开始的整数值。
1.如果使用相同的seed( )值,则每次生成的随即数都相同;
2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
3.设置的seed()值仅一次有效

总结

以上就是本文关于numpy.random.seed()的使用实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python 实现简单的电话本功能
Aug 09 Python
python操作列表的函数使用代码详解
Dec 28 Python
PyCharm设置SSH远程调试的方法
Jul 17 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
python+mysql实现学生信息查询系统
Feb 21 Python
PyQt5实现简易计算器
May 30 Python
python读写csv文件实例代码
Jul 05 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
Python网络爬虫中的同步与异步示例详解
Feb 03 #Python
Python模块文件结构代码详解
Feb 03 #Python
Python处理文本换行符实例代码
Feb 03 #Python
Python断言assert的用法代码解析
Feb 03 #Python
Python下载网络小说实例代码
Feb 03 #Python
JS设计模式之责任链模式实例详解
Feb 03 #Python
numpy使用技巧之数组过滤实例代码
Feb 03 #Python
You might like
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
python实现的文件夹清理程序分享
2014/11/22 Python
20招让你的Python飞起来!
2016/09/27 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python生成并处理uuid的实现方式
2020/03/03 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
煤矿开采专业求职信
2014/07/08 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers