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的Flask框架中实现单元测试的教程
Apr 20 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
python selenium firefox使用详解
Feb 26 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
numpy下的flatten()函数用法详解
May 27 Python
Django 用户认证组件使用详解
Jul 23 Python
python模块和包的应用BASE_PATH使用解析
Dec 14 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
Django cookie和session的应用场景及如何使用
Apr 29 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实现随机生成易于记忆的密码
2015/06/19 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
Python 异常处理实例详解
2014/03/12 Python
简单理解Python中的装饰器
2015/07/31 Python
python发送邮件功能实现代码
2016/07/15 Python
使用Python对MySQL数据操作
2017/04/06 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
python游戏地图最短路径求解
2019/01/16 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
常用的HTML5列表标签
2017/06/20 HTML / CSS
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
2015年银行工作总结范文
2015/04/01 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
辩护词范文大全
2015/05/21 职场文书
运动会入场词
2015/07/18 职场文书
SQLServer常见数学函数梳理总结
2022/08/05 MySQL
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android