第一招:蛇打七寸:定位瓶颈首先,第一步是定位瓶颈。举个简单的栗子,一个函数可以从1秒优化到到0.9秒,另一个函数可以从1分钟优化到30秒,如果要花的代价相同,而且时间限制只能搞定一个,搞哪个?根据短板原理,当然选第二个啦。一个有经验的程序员在这里一定会迟疑一下,等等?函数?这么说,还要考虑调用次数?如果第一个函数在整个程序中需要被调用100000次,第二个函数在整个程序中被调用1次,这个就不一定了。举这个栗子,是想说明,程序的瓶颈有的时候不一定一眼能看出来
系统 2019-09-27 17:48:04 2065
记得之前learnpython一书里面,因为当时没有官方支持,只能通过hack的方式实现抽象方法,具体如下最简单的写法classMyCls():deffoo(self):print('methodnoimplement')运行的例子>>>a=MyCls()>>>a.foo()methodnoimplement>>>这样虽然可以用,但是提示不明显,还是容易误用,当然,还有更好的方法较为可以接受的写法classMyCls():deffoo(self):rais
系统 2019-09-27 17:46:45 2065
本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示:一、全角半角转换概述:全角字符unicode编码从65281~65374(十六进制0xFF01~0xFF5E)半角字符unicode编码从33~126(十六进制0x21~0x7E)空格比较特殊,全角为12288(0x3000),半角为32(0x20)而且除空格外,全角/半角按unicode编码排序在顺序上是对应的所以可以直接通过用+-法来处
系统 2019-09-27 17:46:42 2065
strptime()方法分析表示根据格式的时间字符串。返回值是一个struct_time所返回gmtime()或localtime()。格式参数使用相同的指令使用strftime();它默认为“%a%b%d%H:%M:%S%Y”相匹配的ctime()所返回的格式。如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueError被挂起。语法以下是strptime()方法的语法:time.strptime(string[,format])参数
系统 2019-09-27 17:46:38 2065
前言关于python版本,我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么的问题,觉得2还是没有3方便。而且在网上找到的2中的一些资料稍微改一下也还是可以用。好了,开始说爬百度百科的事。这里设定的需求是爬取北京地区n个景点的全部信息,n个景点的名称是在文件中给出的。没有用到api,只是单纯的爬网页信息。1、根据关键字获取url由于只需要爬取信息,而且不涉及交互,可以使用简单的方法
系统 2019-09-27 17:38:45 2065
你同样可以使用cache标签来缓存模板片段。在模板的顶端附近加入{%loadcache%}以通知模板存取缓存标签。模板标签{%cache%}在给定的时间内缓存了块的内容。它至少需要两个参数:缓存超时时间(以秒计)和指定缓存片段的名称。示例:{%loadcache%}{%cache500sidebar%}..sidebar..{%endcache%}有时你可能想缓存基于片段的动态内容的多份拷贝。比如,你想为上一个例子的每个用户分别缓存侧边栏。这样只需要给{%
系统 2019-09-27 17:38:43 2065
前段时间自学了python,作为新手就想着自己写个东西能练习一下,了解到python编写爬虫脚本非常方便,且最近又学习了MongoDB相关的知识,万事具备只欠东风。程序的需求是这样的,爬虫爬的页面是京东的电子书网站页面,每天会更新一些免费的电子书,爬虫会把每天更新的免费的书名以第一时间通过邮件发给我,通知我去下载。一、编写思路:1.爬虫脚本获取当日免费书籍信息2.把获取到的书籍信息与数据库中的已有信息作比较,如果书籍存在不做任何操作,书籍不存在,执行插入数
系统 2019-09-27 17:38:35 2065
http://blog.csdn.net/qq_28818465/article/details/53075123抽个空又把《OpenCV-Python-Tutorial-中文版》这本电子书看了一遍,这次看的时候带着一个心思去看,就是整理每个章节的主要函数,查了每个函数的文档函数名函数Chapterone:图片读入图像cv2.imread(filename[,flags])→retval显示图像cv2.imshow(winname,mat)→Nonecv2
系统 2019-09-27 17:37:46 2065
前面的两篇文章我们已经介绍了Tcp连接池和Tcp连接池管理器,并且引入了ITcpPool接口,这个接口可以将单个连接池和一组连接池统一起来,使它们有相同的外部使用方式。现在我们需要考虑的问题是,当消息分派器分派一个接收到的请求时,如果这个请求需要被FS上的某个功能插件处理,那么消息分派器是如何将这个消息分派到对应的FS上去的?回顾介绍消息分派器时画出的各消息组件联系图,我们非常自然的想到,创建一个消息处理器,这个消息处理器将请求消息通过Tcp连接池转发给对
系统 2019-08-29 23:48:14 2065
模板方法(TemplateMethod)模式属于行为模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这里的算法的结构,可以理解为你根据需求设计出来的业务流程。特定的步骤就是指那些可能在内容上存在变数的环节。结构模式:1)AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。该模板方法不仅调用前面的抽
系统 2019-08-29 23:06:22 2065