优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用
系统 2019-09-27 17:54:58 2170
前言前面几篇文章基本上已经了解了pytest命令使用,收集用例,finxture使用及作用范围,今天简单介绍一下conftest.py文件的作用和实际项目中如是使用此文件!实例场景首先们思考这样一个问题:如果我们在编写测试用的时候,每一个测试文件里面的用例都需要先登录后才能完成后面的操作,那么们该如何实现呢?这就需要我们掌握conftest.py文件的使用了。实例代码创建如下一个目录ConftestFile|conftest.py|test_file_01
系统 2019-09-27 17:54:45 2170
#内置成员__dict__:获取类/对象的所属成员组成的集合*__doc__:获取类的文档信息*__name__:获取类名称的字符串__module__:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)__bases__:获取当前类的父类列表#方法的分类1.对象方法:该方法中会直接传入当前对象调用方式:对象.成员方法()特征:会将当前对象传入方法中2.类方法:在方法中会直接传入当前类@classmethod:不需要实例化,直接类
系统 2019-09-27 17:54:28 2170
学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。一、isinstance和issubclassclassFoo:passclassSon(Foo):passs=Son()#判断一个对象是不是这个类的对象,传两个参数(对象,类)print(isinstance(s,Son))print(isinstance(s,Foo))#type更精准print(type(s)isSon)print(type(s)isFo
系统 2019-09-27 17:54:00 2170
本文主要借鉴并综合了以下两个博客的内容(样本生成和流图构建训练),并在其基础上绘制了拟合后的直线和“训练次数-代价函数值”曲线,可更直观的观察训练效果:https://www.cnblogs.com/xianhan/p/9090426.htmlhttps://www.cnblogs.com/selenaf/p/9102398.html具体步骤如下:步骤1.在很多情况下,初学者都没有样本库,一般可自建样本库。使用random函数随机初始化样本库:num_po
系统 2019-09-27 17:53:53 2170
从我开始学习python的时候,我就开始自己总结一个python小技巧的集合。后来当我什么时候在StackOverflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里。这篇博客其实就是这个集合整理后一部分的公开亮相。如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新技巧。而如果你
系统 2019-09-27 17:53:38 2170
python连接mysql的客户端importpymysql#导入模块conn=pymysql.connect(host='127.0.0.1',#主机模块port=3306,#端口号user='root',#用户名password='123',#密码database='db',#需要连接的库charset='utf8'#指定编码utf8)cursor=conn.cursor()#获取游标#cursor=conn.cursor(pymysql.cursor
系统 2019-09-27 17:53:19 2170
解决Python抓HTML结构存入数据库转义报错问题首先需求是这样的,抓一些资讯(带有标准的html结构入库),然后研究了半天,各种手动转义,尝试了很多种方法都没有效的解决,下面是有效的最后转义的方案,下面这种入库是没有转义符号的,和原html是一样的,如果前台需要带转义符号需要手动替换一下newSql=db.escape(param)sql='INSERTINTOzhixun(htmls)VALUES({})'.format(newSql)数据库比较懒了
系统 2019-09-27 17:53:17 2170
Python中的上下文管理器withexpression[astarget]:with-body上下文管理器是为with语句而生。只要实现了上下文管理器协议__enter__与__exit__,就可以使用with语句。__enter__通常执行一些初始化操作,并且该函数的返回值会赋值给可选的astarget中的target变量。__exit__执行资源清理工作。它接收三个参数,异常类型,异常实例,和异常栈,根据这些异常信息,__exit__可以选择进行相应
系统 2019-09-27 17:51:21 2170
B.py调用A.py的函数或类在同一个文件夹下调用函数:A.py文件:defadd(x,y):print('和为:%d'%(x+y))B.py文件:importAA.add(1,2)或fromAimportaddadd(1,2)调用类:A.py文件:classA:def__init__(self,xx,yy):self.x=xxself.y=yydefadd(self):print("x和y的和为:%d"%(self.x+self.y))B.py文件:fr
系统 2019-09-27 17:51:08 2170