首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

Python零基础学习笔记(十八)—— break语句和continue语句

''' break语句: 作用:跳出for和while循环 注意:只能跳出距离他最近的那一层的循环 ''' for i in range(8): if i == 5: break print(i) ''' continue语句: 作用:跳过当前循环中的剩余语句 ''' for a in range(5): print(a) if a >= 3: continue print("$$$") #a += 1 num = 0 while num < 5: print(num) num += 1 if num >= 3: continue print("@@@") 执行结果 0 1 2 3 4 0 $$$ 1 $$$ 2 $$$ 3 4 0 @@@ 1 @@@ 2 3 4

优秀的个人博客,低调大师

hanlp汉语自然语言处理入门基础知识介绍

自然语言处理定义: 自然语言处理是一门计算机科学、人工智能以及语言学的交叉学科。虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分。这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言。 自然语言处理的目标是让计算机处理或说“理解”自然语言,以完成有意义的任务,比如订机票购物或QA等。完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能。 自然语言处理涉及的几个层次: 作为输入一共有两个来源,语音与文本。所以第一级是语音识别和OCR或分词(事实上,跳过分词虽然理所当然地不能做句法分析,但字符级也可以直接做不少应用)。接下来是形态学,援引《统计自然语言处理》中的定义:形态学(morphology):形态学(又称“词汇形态学”或“词法”)是语言学的一个分支,研究词的内部结构,包括屈折变化和构词法两个部分。由于词具有语音特征、句法特征和语义特征,形态学处于音位学、句法学和语义学的结合部位,所以形态学是每个语言学家都要关注的一门学科。 Hanlp自然语言处理开发包: 从事大数据方面工作的人对自然语言处理必然都是不陌生的,在Github上用户量最多的开源汉语自然语言处理工具是HanLP。HanLP的初始版本是在2014年初开发的,3月份的时候开始在Github上开源。2015年的时候集成在了大快搜索的DKNLP中,目前大快已经把DKNLP技术成果已经开源,并且整体装如HanLP项目,HanLP的版本已经到了V1.50。 Hanlp自然语言处理技术优势: 支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词调、词性标注),命名实体识别(中国人民、音译人民、日本人民,地名,实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、神经网络依存句法分析)。提供Lucene查件,兼容Solr和ElasticSearch。 Hanlp自然语言处理应用领域: Hanlp已经被广泛应用于Lucene、Solr、ElasticSearch、hadoop、android、Resin等平台,有大量开源作者开发各种查件与拓展,并且被包装或移植到Python、C#、R、JavaScript等语言上去。

优秀的个人博客,低调大师

Spring Boot基础教程12-web应用开发-文件上传

一、Spring Boot 默认使用springMVC包装好的解析器进行上传 二、添加代码 <form method="POST" enctype="multipart/form-data" action="/file/upload"> 文件:<input type="file" name="roncooFile" /> <input type="submit" value="上传" /> </form> @Controller @RequestMapping(value = "/file") public class FileController { private static final Logger logger = LoggerFactory.getLogger(FileController.class); @RequestMapping(value = "upload") @ResponseBody public String upload(@RequestParam("roncooFile") MultipartFile file) { if (file.isEmpty()) { return "文件为空"; } // 获取文件名 String fileName = file.getOriginalFilename(); logger.info("上传的文件名为:" + fileName); // 获取文件的后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); logger.info("上传的后缀名为:" + suffixName); // 文件上传路径 String filePath = "d:/roncoo/ttt/"; // 解决中文问题,liunx下中文路径,图片显示问题 // fileName = UUID.randomUUID() + suffixName; File dest = new File(filePath + fileName); // 检测是否存在目录 if (!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); } try { file.transferTo(dest); return "上传成功"; } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "上传失败"; } } 三、配置 spring.http.multipart.enabled=true #默认支持文件上传. spring.http.multipart.file-size-threshold=0 #支持文件写入磁盘. spring.http.multipart.location= # 上传文件的临时目录 spring.http.multipart.max-file-size=1Mb # 最大支持文件大小 spring.http.multipart.max-request-size=10Mb # 最大支持请求大小

优秀的个人博客,低调大师

Spring Boot基础教程11-web应用开发-CORS支持

一、Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。 2、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。 3、 JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS 浏览器支持情况 Chrome 3+ Firefox 3.5+ Opera 12+ Safari 4+ Internet Explorer 8+ 二、在spring MVC 中可以配置全局的规则,也可以使用@CrossOrigin注解进行细粒度的配置。 全局配置: @Configuration public class CustomCorsConfiguration { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**").allowedOrigins("http://localhost:8080"); } }; } } 或者是 /** * 全局设置 * * @author wujing */ @Configuration public class CustomCorsConfiguration2 extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**").allowedOrigins("http://localhost:8080"); } } 定义方法: /** * @author wujing */ @RestController @RequestMapping("/api") public class ApiController { @RequestMapping(value = "/get") public HashMap<String, Object> get(@RequestParam String name) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("title", "hello world"); map.put("name", name); return map; } } 测试js: $.ajax({ url: "http://localhost:8081/api/get", type: "POST", data: { name: "测试" }, success: function(data, status, xhr) { console.log(data); alert(data.name); } }); 细粒度配置 /** * @author wujing */ @RestController @RequestMapping(value = "/api", method = RequestMethod.POST) public class ApiController { @CrossOrigin(origins = "http://localhost:8080") @RequestMapping(value = "/get") public HashMap<String, Object> get(@RequestParam String name) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("title", "hello world"); map.put("name", name); return map; } }

优秀的个人博客,低调大师

Python基础练习之一输出10000以内的阿姆斯特朗数

题目解析 要解这道题,首先我们要清楚阿姆斯特朗数是什么意思;阿姆斯特朗数是说如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。比如1^3^ + 5^3^ + 3^3^ = 153,1^4^+6^4^+3^4^+4^4^=1634 解题思路 1.利用for循环遍历1-100002.根据常识,1-9都是阿姆斯特朗数,直接输出即可3.判断位数,进行数字拆分,使用除法和取余运算,得到各个位数上的数字4.进行运算和判断 代码展示 #!/usr/bin/python3 #-*- coding:UTF-8 -*- print("10000以内的阿姆斯特朗数有:") for number in range(1, 10001): if number < 10: #1-9都为阿姆斯特朗数,直接输出即可 print(number) elif number < 100: n1 = number % 10 #取个位数 n2 = int(number/10 % 10) #取十位数 result = n1**2 + n2**2 if number == result: print(number) elif number < 1000: n1 = number % 10 n2 = int(number/10 % 10) n3 = int(number/100 % 10) #取千位数 result = n1**3 + n2**3 + n3**3 if number == result: print(number) elif number < 10000: n1 = number % 10 n2 = int(number/10 % 10) n3 = int(number/100 % 10) n4 = int(number/1000 % 10) #取万位数 result = n1**4 + n2**4 + n3**4 + n4**4 #各位数进行次方运算 if number == result: print(number) 执行结果如下:123456789153370371407163482089474 最后总结 练习总结 1.练习for循环的运用2.if的用法3.取数字各位数上的数字 改进思考 1.在分解数字的时候,可以使用//进行整除,这样就不用再使用int函数转换了2.在判断数字位数的时候,是否还有另外的办法,比如直接对5位数进行分解,然后从高位开始判断,知道某一位不等于0,即可判断数字位数,比如00124的时候,即为3位数。

优秀的个人博客,低调大师

机器学习基础:(Python)训练集测试集分割与交叉验证

在上一篇关于Python中的线性回归的文章之后,我想再写一篇关于训练测试分割和交叉验证的文章。在数据科学和数据分析领域中,这两个概念经常被用作防止或最小化过度拟合的工具。我会解释当使用统计模型时,通常将模型拟合在训练集上,以便对未被训练的数据进行预测。 在统计学和机器学习领域中,我们通常把数据分成两个子集:训练数据和测试数据,并且把模型拟合到训练数据上,以便对测试数据进行预测。当做到这一点时,可能会发生两种情况:模型的过度拟合或欠拟合。我们不希望出现这两种情况,因为这会影响模型的可预测性。我们有可能会使用具有较低准确性或不常用的模型(这意味着你不能泛化对其它数据的预测)。 什么是模型的过度拟合(Overfitting)和欠拟合(Underfitting)? 过度拟合 过度拟合意味着模型训练得“太好”了,并且与训练数据集过于接近了。这通常发

优秀的个人博客,低调大师

Python爬虫基础:验证码的爬取和识别详解

今天要给大家介绍的是验证码的爬取和识别,不过只涉及到最简单的图形验证码,也是现在比较常见的一种类型。 运行平台:Windows Python版本:Python3.6 IDE: Sublime Text 其他:Chrome浏览器 简述流程: 步骤1:简单介绍验证码 步骤2:爬取少量验证码图片 步骤3:介绍百度文字识别OCR 步骤4:识别爬取的验证码 步骤5:简单图像处理 目前,很多网站会采取各种各样的措施来反爬虫,验证码就是其中一种,比如当检测到访问频率过高时会弹出验证码让你输入,确认访问网站的不是机器人。但随着爬虫技术的发展,验证码的花样也越来越多,从最开始简单的几个数字或字母构成的图形验证码(也就是我们今天要涉及的)发展到需要点击倒立文字字母的、与文字相符合的图片的点触型验证码,需要滑动到合适位置的极验滑动验证码,以及计算题验证码等等,总之花样百出,

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册