Python数据结构与算法(几种排序)数据结构与算法(Python)冒泡排序冒泡排序(英语:BubbleSort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一对相邻元素
系统 2019-09-27 17:45:58 2213
SQLite是一个小型的关系型数据库,它最大的特点在于不需要单独的服务、零配置。我们在之前讲过的两个数据库,不管是MySQL还是MongoDB,都需要我们安装。安装之后,然后运行起来,其实这就相当于已经有一个相应的服务在跑着。SQLite与前面所说的两个数据库不同。首先Python已经将相应的驱动模块作为了标准库的一部分,只要是你安装了Python,就可以使用;再者它可以类似于操作文件那样来操作SQLite数据库文件。还有一点,SQLite源代码不受版权限
系统 2019-09-27 17:45:49 2213
Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。属性的__dict__系统对象的属性可能来自于其类定义,叫做类属性(classattribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,叫做对象属性(objectattribute)。对象的属性储存在对象的__dict__属性中。__dict__为一个词典,键为属性名,对应的
系统 2019-09-27 17:45:47 2213
学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:复制代码代码如下:#-*-coding:utf-8-*-#上面那句让代码里支持中文#------------------------
系统 2019-09-27 17:45:42 2213
1.准备工作:工欲善其事必先利其器,因此我们有必要在进行Coding前先配置一个适合我们自己的开发环境,我搭建的开发环境是:操作系统:Ubuntu14.04LTSPython版本:2.7.6代码编辑器:SublimeText3.0这次的网络爬虫需求背景我打算延续DotNet开源大本营在他的那篇文章中的需求,这里就不再详解。我们只抓取某一省中所有主要城市从2015-11-22到2015-10-24的白天到夜间的所有天气情况。这里以湖北省为例。2.实战网页爬虫
系统 2019-09-27 17:37:46 2213
os模块描述:python标准库中的一个用于访问操作系统功能的模块。作用:用来实现跨平台访问常用操作:os.sep系统路径的分隔符>>>importos>>>os.sep'/'#windows上运行结果为:\\#windows上的pycharm运行结果为:\#Linux运行结果为:/os.linesep输出当前平台使用的行终止符>>>importos>>>os.linesep'\n'os.environ获取系统环境变量os.getcwd()获取当前工作路径
系统 2019-09-27 17:56:35 2212
字符串的操作太多了,也很特别,所以我要把它单独拿出来参考文章:Python中常见字符串去除空格的方法总结https://www.cnblogs.com/fandx/p/9311755.html0、python去掉字符串中空格的方法https://www.cnblogs.com/zywscq/p/5325604.html原来哥哥已经收藏你了,超过13万的阅读量1、python3字符串操作总结https://www.cnblogs.com/jiduxia/p/
系统 2019-09-27 17:55:34 2212
'''将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。'''frompip._vendor.distlib.compatimportraw_inputdeftest1(n):print("%d="%n,end='');whilen>1:foriinrange(2,n+1):ifn%i==0:n=int(n/i)ifn==1:print("%d"%i,end='');else:print("%d*"%i,end='');breakdeft
系统 2019-09-27 17:55:28 2212
python连接Mysql数据库:Python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接MySQL数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响。因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目的。数据库连接池python的数据库连接池包DBUtils:DBUtils是一套Python数据库连接池包,并允许对非线程安全的
系统 2019-09-27 17:55:24 2212
错误写法classRemoteHandler(web.RequestHandler):@gen.coroutinedefget(self):response=httpclient('http://www.baidu.com')self.write(response.body)@gen.coroutinedefhttpClient(url):result=yieldhttpclient.AsyncHTTPClient().fetch(url)returnre
系统 2019-09-27 17:55:01 2212
概述Python3对函数参数的排序规则更加通用化了,即Python3keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数。该规则在处理人一多个参数是很有用的。keyword-onlykword_only(1,2,3,c=4)print('-'*20)kword_only(a=1,c=3)示例结果:1(2,3)4--------------------1()3在*args之后的参数都需要在调用中使用关键字的方式传递,否
系统 2019-09-27 17:54:57 2212
文章目录1.函数的执行流程1.1.字节码了解压栈过程1.2.嵌套函数的压栈2.递归2.1.递归函数2.2.递归的性能2.3.递归的优化2.4.间接递归2.5.递归总结3.匿名函数4.Python生成器4.1.基本结构4.2.使用场景4.3.协程coroutine4.4.yieldfrom1.函数的执行流程函数的执行需要对函数进行压栈,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要的变量以及指针的意思。具体涉及的知识非常多,这里就以一个Pyth
系统 2019-09-27 17:54:56 2212
前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识,用来解决简单的贴吧下载,绩点运算自然不在话下。不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点。于是乎,爬虫框架Scrapy就这样出场了!Scrapy=Scrach+Python,Scrach这个单词是抓取的意思,Scrapy的官网地址:点我点我。那么下面来简单的演示一下Scrapy的安装流程。具体流程参照://www.jb51.net/article/48607.htm
系统 2019-09-27 17:54:46 2212
文件内容如下:Alex100000Rain80000Egon50000Yuan30000#此处有一个空行!现在看如何处理并转成列表!salary_info=open("salaryinfo.txt","r+",encoding="UTF-8")salary_info_list=[]forlineinsalary_info.readlines():ifline=='\n':passelse:salary_info_list.append(list(line.
系统 2019-09-27 17:54:35 2212
综述本系列文档用于对Python爬虫技术的学习进行记录总结。Python版本是3.7.4urllib库介绍它是Python内置的HTTP请求库,也就是说我们不需要额外安装即可使用,它包含四个模块(主要对前三个模块进行学习):request:它是最基本的HTTP请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入URL还有额外的参数,就可以模拟实现这个过程了。error:异常处理模块,如果出现请求错误,我们可以捕
系统 2019-09-27 17:54:27 2212