拥有Python标签的文章
Python

冒泡排序(python)

1.冒泡排序1.1算法思想冒泡排序是一种简单的排序算法。通过重复地遍历要排序的数列,一次比较两个元素,从最开始的一对到最后的一对(相当于一个长度为2的滑动窗口),如果它们的顺序错误(看从小到达排列还是从大到小排列)就把它们交换过来。如果是升序排列的话,每次遍历都会把最大值交换到最右边。然后重复这个过程,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,就像冒泡一样。这个算法不需要额外的空间,

系统 2019-09-27 17:49:46 2221

Python

Python实现Linux监控的方法

工作原理:基于/proc文件系统Linux系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc虚拟文件系统实现的。/proc文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/proc”),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(onthefly)改变设置(通过改变内核参数)。与其他文件系统不同,/proc存在于内存而不是硬盘中。p

系统 2019-09-27 17:49:23 2221

Python

K-means python 实现

原文链接:https://blog.csdn.net/hanxia159357/article/details/81530361转载链接:https://blog.csdn.net/hanxia159357/article/details/81530361本文完成程序及测试数据集详细见:https://github.com/HanXia001/k-means-python3-本文主要内容:1.k-means解决的问题;2.k-means原理介绍;3.k-m

系统 2019-09-27 17:48:12 2221

Python

Python实现把xml或xsl转换为html格式

前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。用的libxml2,所以还要先安装了libxml2模块才能使用。#-*-coding:mbcs-*-#!/usr/bin/pythonimportlibxml2,libxsltclasscompoundXML:def__init__(self):self._result=Noneself._xsl=Noneself._xml=Nonedefdo(self,xml_file

系统 2019-09-27 17:47:12 2221

Python

Python实现网页截图(PyQT5)过程解析

方案说明功能要求:实现网页加载后将页面截取成长图片涉及模块:PyQT5PIL逻辑说明:1:完成窗口设置,利用PyQT5QWebEngineView加载网页地址,待网页加载完成后,调用check_pag;classMainWindow(QMainWindow):def__init__(self,parent=None):super(MainWindow,self).__init__(parent)self.setWindowTitle('易哈佛')self.

系统 2019-09-27 17:45:49 2221

Python

33个Python爬虫项目实战(推荐)

今天为大家整理了32个Python爬虫项目。整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心。所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)OWechatSogou[1]-微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。DouBanSpider[2]-豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选

系统 2019-09-27 17:45:44 2221

Python

python杀死一个线程的方法

最近在项目中遇到这一需求:我需要一个函数工作,比如远程连接一个端口,远程读取文件等,但是我给的时间有限,比如,4秒钟如果你还没有读取完成或者连接成功,我就不等了,很可能对方已经宕机或者拒绝了。这样可以批量做一些事情而不需要一直等,浪费时间。结合我的需求,我想到这种办法:1、在主进程执行,调用一个进程执行函数,然后主进程sleep,等时间到了,就kill执行函数的进程。测试一个例子:importtimeimportthreadingdefp(i):print

系统 2019-09-27 17:38:46 2221

Python

python线程中的同步问题及解决方法

多线程开发可能遇到的问题假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况:fromthreadingimportThreadimporttimenum=0deftest1():globalnumforiinrange(1000000):num+=1print("--test1--num=%d"%num)deftest2():glo

系统 2019-09-27 17:57:16 2220

Python

使用Python正则表达式操作文本数据

来源|愿码(ChainDesk.CN)内容编辑愿码Slogan|连接每个程序员的故事网站|http://chaindesk.cn愿码愿景|打造全学科IT系统免费课程,助力小白用户、初级工程师0成本免费系统学习、低成本进阶,帮助BAT一线资深工程师成长并利用自身优势创造睡后收入。官方公众号|愿码|愿码服务号|区块链部落免费加入愿码全思维工程师社群|任一公众号回复“愿码”两个字获取入群二维码本文阅读时长:7min什么是正则表达式正则表达式,是简单地字符的序列,

系统 2019-09-27 17:57:04 2220

Python

8.李航机器学习-AdaBoost梯度提升算法python实现

AdaBoost梯度提升算法项目链接:https://github.com/Wchenguang/gglearn/blob/master/AdaBoost/李航机器学习讲解/AdaBoost.ipynb算法步骤与原理训练mmm个弱学习分类器,分类器有相同的接口Gm(x):X→{x1,x2…}G_{m}(x):\mathcal{X}\rightarrow\{x_{1},x_{2}\dots\}Gm​(x):X→{x1​,x2​…}假设数据有均匀的权值分布,即

系统 2019-09-27 17:56:59 2220

Python

filter用法--Python

filter被称为高阶函数是有道理的。filter(self,/,*args,**kwargs)Docstring:filter(functionorNone,iterable)-->filterobjectReturnaniteratoryieldingthoseitemsofiterableforwhichfunction(item)istrue.IffunctionisNone,returntheitemsthataretrue.从Doc的简单描述可

系统 2019-09-27 17:56:08 2220

Python

Python之父发文吐槽现有解析器,考虑将它替换掉

image花下猫语:GuidovanRossum是Python的创造者,虽然他现在放弃了“终身仁慈独裁者”的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目。近日,他开通了Medium账号,并发表了第一篇文章,透露出要替换Python的核心部件(解析器)的想法。这篇文章分析了当前的pgen解析器的诸多缺陷,并介绍了PEG解析器的优点,令人振奋。这项改造工作仍在进行中,Guido说他还会写更多相关的文章,我们就拭目以待吧。本文原创并首发于公众

系统 2019-09-27 17:55:35 2220

Python

Python程序设计模式

Python设计模式设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。所有的设计模式示例都是来源于菜鸟教程,每个设计模式的UML都可以在菜鸟教程中找到相应的示例github地址:Python设计模式以工厂模式为例:工厂模式在菜鸟教程中的UML图为工厂

系统 2019-09-27 17:55:33 2220

Python

浅析python 中大括号中括号小括号的区分

python语言最常见的括号有三种,分别是:小括号()、中括号[]和大括号也叫做花括号{}。其作用也各不相同,分别用来代表不同的python基本内置数据类型。1.python中的小括号():代表tuple元组数据类型,元组是一种不可变序列。创建方法很简单,大多时候都是用小括号括起来的。>>>tup=(1,2,3)>>>tup(1,2,3)>>>>>>()#空元组()>>>>>>55,#一个值的元组(55,)定义元组(tuple)时,如果只含一个元素,要在后

系统 2019-09-27 17:54:50 2220

Python

Python中*args和**kwargs的区别详解

一、*args的使用方法*args用来将参数打包成tuple给函数体调用defargs_test(x,y,*args):print(x,y,args)args_test(1,2,3,4,5)12(3,4,5)二、**kwargs的使用方法**kwargs打包关键字参数成dict给函数体调用defkwargs_test(**kwargs):print(kwargs)kwargs_test(a=1,b=2,c=3){'a':1,'c':3,'b':2}三.参数

系统 2019-09-27 17:54:08 2220