编程技术

备忘录模式

意图在不破坏封装性的前提条件下,捕获一个对象的内部状态,然后在该对象之外保存这个状态。以后在需要的时候可以将该对象恢复到原先保存的状态。结构1.Memento(备忘录):保存Originator(原发器)对象的内部状态,Originator根据需要决定保存哪些内部状态,防止自身以外的其它对象访问备忘录。备忘录实际上是由两个接口,其中Caretaker(管理者)只能看到备忘录的窄接口,即它只能将备忘录传递给其他对象;而原发器可以看到一个宽接口,允许他访问回到

系统 2019-08-29 21:57:41 2277

编程技术

js中的constructor 和prototype深入分析

在javascript的使用过程中,constructor和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要。我们在定义函数的时候,函数定义的时候函数本身就会默认有一个prototype的属性,而我们如果用new运算符来生成一个对象的时候就没有prototype属性。我们来看一个例子,来说明这个functiona(c){this.b=c;this.d=function(){alert(this.b);}}va

系统 2019-08-12 09:29:41 2277

编程技术

proxool数据源的配置

自己以前做程序都是自己写连接池,那个时候项目大,环境各异,为了便于实施,总是由自己进行连接池的管理,等到自己想做一些小东西的时候,才发现这个连接池成了一个专用的东西,和系统做了太多的绑定,只能找连接池用,用过resin自带的连接池,再用tomcat连接池的时候就很不爽,没有监控的功能,在网上选来选去,最后选择了Proxool。Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功

系统 2019-08-12 09:29:37 2277

Python

python 反射

反射描述反射就是指在程序运行时,动态的去确定对象的类型,并且可以通过字符串的的形式去调用对应的属性,方法,导入模块,是一种基于字符串的事件驱动举一个例子:classStudent:def__init__(self):self.name='mhy'self.price='5000'obj1=Student()content=input('>>>:')#这里输入的name是字符串#如果不知道反射,我们平常都是这么根据输入调用的ifcontent=='name'

系统 2019-09-27 17:56:45 2276

Python

python 字体染色

字体染色我是黑体字我是微软雅黑我是华文彩云color=#0099ffsize=72face="黑体"color=#00ffffcolor=gray

系统 2019-09-27 17:56:41 2276

Python

Python中Numpy ndarray的使用详解

本文主讲Python中Numpy数组的类型、全0全1数组的生成、随机数组、数组操作、矩阵的简单运算、矩阵的数学运算。尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更方便。定义数组>>>importnumpyasnp>>>m=np.array([[1,2,3],[2,3,4]])#定义矩阵,int64>>>marray([[1,2,3],[2,3,4]])>>>m=np.array([[1,2,3],[2,3,4]],dtype=np.f

系统 2019-09-27 17:50:51 2276

Python

Python字典创建 遍历 添加等实用基础操作技巧

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途.一、字典中常见方法列表代码如下:D.clear()#移除D中的所有项D.copy()#返回D的副本D.fromkeys(seq[,val])#返回从seq中获得的键和被设置为val的值的字典。可做类方法调用D.get(key[,default])#如果D[key]存在,将其返回;否则返回给定的默

系统 2019-09-27 17:50:45 2276

Python

Python之Subprocess模块

前言其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要耗费一个小时,那么主进程会卡一个小时,而不会去干别的事,这样就会导致程序的运行效率低下。如果由subprocess去执行系统命令的时候并不会让主进程去执行,而是主进程会开辟出一个子进程去执行,并不会影响到主进程的运行,主进程该干嘛就干嘛,那么又有个问题,大家都知道进程之间的内存空间是独立的,也就是说进程之间是不能相互访

系统 2019-09-27 17:50:09 2276

Python

Python多进程爬取人人单词数据

基于Pythonrequests的人人词典数据爬虫,爬取站点http://www.91dict.com爬取内容包含:单词、单词词性及翻译、单词发音、单词例句剧照、单词例句及翻译、单词例句发音总共数据:单词53189个,例句发音文件及图片文件共10G左右,20M带宽不到一个小时就能爬完,我测试是这样的。。。关于单词发音,可自行添加爬取爬取内容1爬取内容2例句发音例句剧照Python版本Python3+,建议Python3.6requirements.txtr

系统 2019-09-27 17:49:44 2276

Python

冒泡排序(python)

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

系统 2019-09-27 17:49:41 2276

Python

python mac地址计算

思路是10/16进制的转换和字符串的处理开始造轮子1、判断是否是mac地址正则匹配是否符合条件1importre23defisMac(string):4preg=re.compile('^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$')5ret=preg.match(string)6ifretisNone:7returnFalse8else:9returnTrue2、mac转int替换掉冒号转16进制1defmacToInt(ma

系统 2019-09-27 17:49:03 2276

Python

python中 if__name__ == "__main__"的理解

有时候经常看到python代码中含有if__name__=='__main__'的代码,但是却一直不知道是什么意思,可以通过相应的代码去试验即可知道其作用。一、理解我们知道每个python文件既可以被直接执行,则可以作为脚本导入到其他文件中。从而构建各个模块的联系。而if__name__=='__main__'的作用也是用来区分是自己作为自己的文件进行执行的,还是被导入到其他文件当做脚本使用。为了更好的区分,看如下例子:步骤一:新建一个文件为:test.p

系统 2019-09-27 17:47:33 2276

Python

Python批量转换文件编码格式

自己写的方法,适用于linux,#!/usr/bin/python#coding=utf-8importsysimportos,os.pathimportdircacheimportcommandsdefadd(x,y):returnx*ydeftrans(dirname):lis=dircache.opendir(dirname)forainlis:af=dirname+os.sep+a##printafifos.path.isdir(af):##pri

系统 2019-09-27 17:47:27 2276

Python

python正则爬取某段子网站前20页段子(request库)过程解析

首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下:该网站地址:http://www.budejie.com/text该网站数据都是通过html页面进行展示,网站url默认为第一页,http://www.budejie.com/text/2为第二页,以此类推对网站的内容段子所处位置进行分析,发现段子内容都是在一个a标签中坑还是有的,这是我第一次写的正则:content_list=re.findall(r'(.+?)',html_str)之后发现竟然匹配到

系统 2019-09-27 17:46:58 2276