搜索到与相关的文章
Python

Python 之父的解析器系列之五:左递归 PEG 语法

原题|Left-recursivePEGgrammars作者|GuidovanRossum(Python之父)译者|豌豆花下猫(“Python猫”公众号作者)声明|本翻译是出于交流学习的目的,基于CCBY-NC-SA4.0授权协议。为便于阅读,内容略有改动。我曾几次提及左递归是一块绊脚石,是时候去解决它了。基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止。【这是我的PEG系列的第5部分。其它文章参见这个目录】假设有如下的语法规则:ex

系统 2019-09-27 17:49:42 2170

Python

Python中__new__与__init__方法的区别详解

在python2.x中,从object继承得来的类称为新式类(如classA(object))不从object继承得来的类称为经典类(如classA())新式类跟经典类的差别主要是以下几点:1.新式类对象可以直接通过__class__属性获取自身类型:type2.继承搜索的顺序发生了改变,经典类多继承时属性搜索顺序:先深入继承树左侧,再返回,开始找右侧(即深度优先搜索);新式类多继承属性搜索顺序:先水平搜索,然后再向上移动例子:经典类:搜索顺序是(D,B,

系统 2019-09-27 17:47:02 2170

Python

在Python中操作字典之update()方法的使用

update()方法添加键-值对到字典dict2。此函数不返回任何值。语法以下是update()方法的语法:dict.update(dict2)参数dict2--这是被添加dict到的词典返回值此方法不返回任何值例子下面的例子显示了update()方法的使用#!/usr/bin/pythondict={'Name':'Zara','Age':7}dict2={'Sex':'female'}dict.update(dict2)print"Value:%s"%

系统 2019-09-27 17:46:47 2170

Python

【python】 一文弄懂浅拷贝与深拷贝

一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字

系统 2019-09-27 17:46:11 2170

Python

Python如何获取系统iops示例代码

iops简介iops主要用在数据方面,这个指标是数据库性能评定的一个重要参考,iops的是每秒进行读写(I/O)操作的次数,主要看随机访问的性能,一般为了iops增高都要依靠磁盘阵列,实际线上的数据库基本都是raid10的配置,raid5在实际生产环境中如果压力上来是抗不住的,当然也要开具体业务压力情况,如果是用物理机就要看iops在实际中能跑到多少值,现在云也普遍了,如果你用的RDS云数据库,这个iops是可以根据业务情况自己选择的,基本是个参数,可以按

系统 2019-09-27 17:38:24 2170

Python

以Python代码实例展示kNN算法的实际运用

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN方法在类别决策时,只与极

系统 2019-09-27 17:38:02 2170

编程技术

【文本分类】 概述

部分转载:http://www.blogjava.net/zhenandaci/archive/2008/05/31/204646.html作者:Jasper文本分类(textcategorization)问题就是将一篇文档归入预先定义的几个类别中的一个或几个,而文本的自动分类则是使用计算机程序来实现这样的分类。通俗点说,就好比你拿一篇文章,问计算机这文章要说的究竟是体育,经济还是教育,计算机答不上就打它的屁屁(……)。注意这个定义当中着重强调的两个事实。

系统 2019-08-29 21:59:32 2170

Python

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blockingIO)Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blockingsocket执行读操作时,流程是这个样子:从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进程,而是立刻返回一个error。从用户进程角度讲,它发起一个read操作后,并不需要等待,而是马上就得到了一个结果。用户进程判断结果是一个error时,它就知道

系统 2019-09-27 17:53:07 2169

Python

python多线程扫描端口(线程池)

扫描服务器ip开放端口,用线程池ThreadPoolExecutor,i7的cpu可以开到600个左右现成,大概20s左右扫描完65535个端口,根据电脑配置适当降低线程数#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa

系统 2019-09-27 17:52:19 2169