一、装饰器decoratordecorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能。其实也就是其他语言中的AOP的概念,将对象或函数的真正功能也其他辅助的功能的分离。二、Python中的decoratorpython中的decorator通常为输入一个函数,经过装饰后返回另一个函数。比较常用的功能一般使用decorator来实现,例如python自带的staticmethod和classmet
系统 2019-09-27 17:54:11 1881
申明:本文出自我自己的微信号python1024,属于个人原创。先看下代码目录结构:有三个.py文件,map_craw.py、stat.py、store.py分别的功能是爬取数据、数据分析、将爬取的数据存储入mysql数据库中,由于stat.py还没写完,这篇文章主要讲数据的爬取与存储。这里的地图就是baidumap,如果是没有爬虫基础的同学先到CSDN里面搜一下,安装个Chrome浏览器,顺便在浏览器的右上角更多中找到更多工具—>扩展程序选项将JSONV
系统 2019-09-27 17:53:30 1881
在图像处理中每秒钟都要做大量的运算,所以你的程序不仅要能给出正确的结果,同时还必须要快。所以这节将要学习:•检测程序的效率•一些能够提高程序效率的技巧1.使用OpenCV检测程序效率cv2.getTickCount()函数返回从参考点到这个函数被执行的时钟数。所以当你在一个函数执行前后都调用它的话,你就会得到这个函数的执行时钟数。cv2.getTickFrequency()返回时钟频率,或者说每秒钟的时钟数。另外:也可以导入time模块,使用time.ti
系统 2019-09-27 17:53:21 1881
这是书籍《PandasCookbook》书籍第04章的代码复现,所有代码运行在JupyterNotebook上,原讲解地址是:https://www.jianshu.com/p/bd0bc1b5b4b6我上传代码的github地址是:https://github.com/Asunqingwen/PandasCookbook.gitgithub上有该书中用到的data,里面代码会不定期更新(因为工作原因,时间不定),直到本书学习完成!相比原讲解,会穿插一些自
系统 2019-09-27 17:52:46 1881
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:1.示例1:复制代码代码如下:x=[1,2,3]y=[4,5,6]z=[7,8,9]xyz=zip(x,y,z)printxyz运行的结果是:[(1,4,7),(2,5,8),(3,6,9)]从这个结果可以看出zip函数的基本运作方式。2.示例2:复制代码代码如下:x=[1,2,3]y=[4,5,6,7]xy=zip(x,y)printxy运
系统 2019-09-27 17:52:42 1881
出处:https://www.cnblogs.com/yufeihlf/p/5752146.html今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程。以后各位只要着重如何编写测试用例即可,其他模板可以套用的,希望帮助到大家。目录一、编写测试用例二、执行测试用例,查找最新测试用例,自动发送测试报告三、定时执行测试用例3.1方案一:Wi
系统 2019-09-27 17:50:59 1881
一、前言除了可以使用click()来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在ActionChains类中。ActionChains类提供了鼠标操作的常用方法:perform()执行所有ActionChains中存储的行为context_click()右击double_click()双击drag_and_drop()拖动move_to_el
系统 2019-09-27 17:48:46 1881
动态链接库在Windows中为.dll文件,在linux中为.so文件。以linux平台为例说明python调用.so文件的使用方法。本例中默认读者已经掌握动态链接库的生成方法,如果不太清楚的可以参考动态链接库的使用调用上例动态链接库的使用中的sum.soimportctypesso=ctypes.CDLL('./sum.so')print"so.sum(50)=%d"%so.sum(50)so.display("helloworld!")print"so
系统 2019-09-27 17:47:56 1881
一、问题的发现与提出在Python类的方法(method)中,要调用父类的某个方法,在Python2.2以前,通常的写法如代码段1:代码段1:复制代码代码如下:classA:def__init__(self):print"enterA"print"leaveA"classB(A):def__init__(self):print"enterB"A.__init__(self)print"leaveB">>>b=B()enterBenterAleaveAlea
系统 2019-09-27 17:46:16 1881
自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言。可是刚接触不久就遇到了让人头疼的关于编码的问题,在网上查了很多资料现在在这里做一番总结,权当一个记录也为后来的兄弟姐妹们服务,如果可以让您少走一些弯路本人将倍感荣幸。先来描述下现象吧:importosforiinos.listdir("E:\TorchlightII"):printi代码很简单我们使用os的listdir函数遍历了E:\Torchl
系统 2019-09-27 17:38:24 1881
如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。跟C/C++/Java相比―Python/Ruby能让你用少的多的多的代码写
系统 2019-09-27 17:37:56 1881
记住这些理念之后,让我们来开始Django数据库层的探索。首先,我们需要做些初始配置;我们需要告诉Django使用什么数据库以及如何连接数据库。我们假定你已经完成了数据库服务器的安装和激活,并且已经在其中创建了数据库(例如,用CREATEDATABASE语句)。如果你使用SQLite,不需要这步安装,因为SQLite使用文件系统上的独立文件来存储数据。象前面章节提到的TEMPLATE_DIRS一样,数据库配置也是在Django的配置文件里,缺省是setti
系统 2019-09-27 17:37:51 1881
Python读取文件首先,我们新建一个叫做ex15_sample.txt的txt文件:文件内容如下:IwanttoOpenthisfileandreadit出于对例子的尊重,我们当然不能将文件名写死到Python代码中,如果换一个文件读取,将会对我们的代码造成多么大的不便呢,所以,我们希望根据输入的文件名读取内容,并打印。这需要用到我们上一篇学过的函数argv。在使用argv函数之前,我们先尝试着读取一下这个文件试试,代码如下:>>>txt=open('e
系统 2019-09-27 17:57:03 1880
冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:>>>f_set=frozenset("qiwsir")#看这个名字就知道了frozen,冻结的set>>>f_setfrozenset(['q','i','s','r','w'])>>>f_set.add("python")#报错Traceback(mostrecentcalllast):File"",line1,in
系统 2019-09-27 17:56:34 1880
复数是由一个实数和一个虚数组合构成,表示为:x+yj一个复数时一对有序浮点数(x,y),其中x是实数部分,y是虚数部分。Python语言中有关复数的概念:1、虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数2、复数由实数部分和虚数部分构成3、表示虚数的语法:real+imagej4、实数部分和虚数部分都是浮点数5、虚数部分必须有后缀j或J复数的内建属性:复数对象拥有数据属性,分别为该复数的实部和虚部。复数还拥有conjugate方法,调
系统 2019-09-27 17:56:19 1880