搜索到与相关的文章
Python

Python 之父再发文:构建一个 PEG 解析器

花下猫语:Python之父在Medium上开了博客,现在写了两篇文章,本文是第二篇的译文。前一篇的译文在此,宣布了将要用PEG解析器来替换当前的pgen解析器。本文主要介绍了构建一个PEG解析器的大体思路,并介绍了一些基本的语法规则。根据Python之父的描述,这个PEG解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器。阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉很奇妙:我们竟然可以见证Python之父如何考虑问题、

系统 2019-09-27 17:51:49 2552

Python

堆排序(python)

6.堆排序6.1算法思想堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的键值或索引总是小于(或者大于)它的父节点(同层节点不进行比较)。并且一般来说,升序排列通过构造大顶堆来实现,降序排列通过构造小顶堆来实现。这种算法不用额外的空间,空间复杂度为o(1),时间复杂度为o(nlogn)6.1.1堆堆是一种完全二叉树(完全二叉树是一种除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对

系统 2019-09-27 17:49:40 2552

Python

对python while循环和双重循环的实例详解

废话不多说,直接上代码吧!#python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务。#while是“当型”循环结构。i=1whilei<=20:print(i,end="")i+=1sum=0i=1whilei<=100:sum+=ii+=1else:print("\n",sum)print("0+2+...+100=",sum)#从控制台录入一个数字,求从1到数字的阶乘;result=1;i=1;n

系统 2019-09-27 17:49:38 2552

Python

还在等外卖?python告诉你,为什么你的外卖这么慢

某天中午,⼩编喜滋滋地点了⼀份⽜⾁饭外卖,然后翘⾸以盼等待配送⼩哥的到来。半个多⼩时过去了,软件上的地图显⽰⼩哥离我只有三百⽶的距离,⽜⾁饭已经近在咫尺。然⽽左等右等⽜⾁饭也没有到,再打开app⼀看,简直两眼发⿊:⼩哥的距离竟然从三百⽶变成了⼀千⽶!相信⼤家都曾遇到过这样的问题:外卖点的各种美⾷,或者跑腿购买的东西,还有淘宝的包裹,明明页⾯显⽰它们已经近在咫尺甚⾄只有⼏分钟的路程,结果配送⼩哥⾮要绕远去别的地⽅,在家翘⾸以盼包裹到来的你等到花⼉都快谢了,让

系统 2019-09-27 17:48:34 2552

Python

eclipse创建python项目步骤详解

eclipse安装Python插件之后,主要是为了方便Python代码就可以再Eclipse进行代码脚本,使用Eclipse开发Python脚本,主要写代码会有提示功能,提高写代码效率,运行代码方便进行调式,错误提示更直观。打开Eclipse,选择菜单中【file】》》new》》other选择Python选项,然后选择projectmondel输入projectname项目名称,运行IDE根据搭建环境选择版本这里可以直接点击next,下一步然后直接点击【是

系统 2019-09-27 17:46:08 2552

Python

python正则表达式匹配不包含某几个字符的字符串方法

一、匹配目标文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串二、尝试过程1)自然想到正则表达式r'(https?://.*?.jpg|https?://.*?.png|https?://.*?.jpeg)简化书写为r'(https?://.*?\.(?:jpg|png|jpeg)匹配结果:['http://sdsdsdadadsdsdsddsdsdawwii,https://sdsdoijcjz.jpg']发现结果并非我们想

系统 2019-09-27 17:46:00 2552

Python

对python3中的RE(正则表达式)-详细总结

1.引入正则模块(RegularExpression)要使用python3中的RE则必须引入re模块importre#引入正则表达式2.主要使用的方法match(),从左到右进行匹配#pattern为要校验的规则#str为要进行校验的字符串result=re.match(pattern,str)#如果result不为None,则group方法则对result进行数据提取3.正则表达式1️⃣单字符匹配规则字符功能.匹配任意1个字符(除了\n)[]匹配[]中列

系统 2019-09-27 17:45:57 2552

Python

Python 实现随机数详解及实例代码

Python3实现随机数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

系统 2019-09-27 17:37:55 2552

Linux

自己动手架设linux下Web服务器(图)2

二、Linux操作系统安装步骤、设置CentOS4.x或RedHatEnterPriseLinux4.x系统的安装比较简单,整个安装过程可以全部基于图形界面安装,一般来说能够独立安装Windows,也基本能成功安装好一个CentOS4.x或RedHatEnterPriseLinux4.x操作系统。笔者出于对Web服务器的安全与简化安装方式,在Linux操作系统安装过程中,对一些软件组件进行了一些定制选择。以下是通过CentOS光盘引导后的安装界面:Cent

系统 2019-08-29 23:12:07 2552

Tomcat

hudson+maven+tomcat自动发布

1.要将hudson构建后的war包自动deploy到tomcat下,需要安装hudson插件到hudson》系统设置>插件管理去安装[DeploytocontainerPlugin]2.如果项目使用maven编译打包的那么在设置deploy路径时,可能会遇到无法保存设置填好后,Save进去看又变成空白解决办法:建hudson任务时,先不选maven项目,选第一个,进去后把deploy的内容填好,保存。再进去设置把build改为Maven。就ok了3.如果

系统 2019-08-29 22:50:59 2552