P是素数且M也是素数,并且满足等式M=2^P-1,则称M为默尼森数。例如,P=5,M=2^P-1=31,5和31都是素数,因此31是默尼森数。frommathimportsqrtdefprime(num):ifnum==1:returnFalse;ifnum==2:returnTrue;k=int(sqrt(num))+1foriinrange(2,k):ifnum%i==0:returnFalse;returnTrue;defmonisen(no):k=
系统 2019-09-27 17:57:15 1724
Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回。使用property修饰的实例方法被调用时,可以把它当做实例属性一样property的用法1――装饰器方式在类的实例方法上应用@property装饰器classTest:def__init__(self):self.__num=100@propertydefnum(self):print("--get--")returnself.__num@num
系统 2019-09-27 17:57:10 1724
前言在K近邻的原始算法中,没有对K近邻的方法进行优化,还是遍历训练集,找到与输入实例最近的K个训练实例,统计他们的类别,以此作为输入实例类别的判断。具体的模型理论见:统计学习方法——K近邻法(原始方法)1.K近邻算法的实现在算法实现的过程中,利用的是欧氏距离进行点与点之间的距离度量。在进行数据运算的时候,没有利用numpy,而是利用Python中自带的list来进行数据的计算。defknn(x,dataSet,labels,k):distanceMemor
系统 2019-09-27 17:56:59 1724
首先要分析一下电影天堂网站的首页结构。在这里插入图片描述从上面的菜单栏中我们可以看到整个网站资源的总体分类情况。刚刚好我们可以利用到它的这个分类,将每一个分类地址作为爬虫的起点。①解析首页地址提取分类信息#解析首页defCrawIndexPage(starturl):print"正在爬取首页"page=__getpage(starturl)ifpage=="error":returnpage=page.decode('gbk','ignore')tree=
系统 2019-09-27 17:56:58 1724
对list的操作向list中插入一个元素前面有一个向list中追加元素的方法,那个追加是且只能是将新元素添加在list的最后一个。如:>>>all_users=["qiwsir","github"]>>>all_users.append("io")>>>all_users['qiwsir','github','io']从这个操作,就可以说明list是可以随时改变的。这种改变的含义只它的大小即所容纳元素的个数以及元素内容,可以随时直接修改,而不用进行转换。这
系统 2019-09-27 17:56:53 1724
有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的。在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用。同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度。对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序。下面,我们就通过一个例子来说明这个功
系统 2019-09-27 17:56:49 1724
python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放!定义一个函数defproduceBnf(infilename,outfilename):List=[]withopen(infilename,'r')asinf:forlineininf.readlines():List.appe
系统 2019-09-27 17:56:45 1724
最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。并发处理的技术背景并行化处理目前很受重视,因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代,所以像lisp这种古老的语言又被人们重新拿了起来,函数式编程也越来越流行。介绍一个python的并行处理的一个库:greenlet。python有一个非常有名的库叫做stackless,用来做并发处理,主
系统 2019-09-27 17:56:35 1724
Python的环境变量环境变量说明PYTHONSTARTUP在交互式启动时执行的文件(无默认值)PYTHONPATH‘:'-以默认模块搜索路径为前缀的分隔目录列表。结果是sys.path。PYTHONHOME交替的目录(或者:).默认的模块搜索路径为/pythonX.X.PYTHONCASEOK忽略import语句中的大小写(Windows)。PYTHONIOENCODING用于stdin/stdout/stderr中的编码PYTHONHASHSEED如果
系统 2019-09-27 17:56:35 1724
本文实例讲述了python中bisect模块用法,分享给大家供大家参考。具体方法分析如下:这个模块只有几个函数,一旦决定使用二分搜索时,立马要想到使用这个模块。示例代码如下:importbisectL=[1,3,3,6,8,12,15]x=3x_insert_point=bisect.bisect_left(L,x)#在L中查找x,x存在时返回x左侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回左侧位置1printx_insert_poin
系统 2019-09-27 17:56:28 1724