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实现代理服务功能实例
Nov 15 Python
Apache如何部署django项目
May 21 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 Python
python之django母板页面的使用
Jul 03 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
python使用udp实现聊天器功能
Dec 10 Python
python字符串循环左移
Mar 08 Python
Python 如何提高元组的可读性
Aug 26 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 Python
python三子棋游戏
May 04 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python 获取图片分辨率的方法
2019/01/08 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Python实现括号匹配方法详解
2020/02/10 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
J2EE相关知识面试题
2013/08/26 面试题
企业员工培训感言
2014/02/26 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
学习nginx基础知识
2021/09/04 Servers
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS