- 军军小站|张军博客
搜索到与相关的文章
编程技术

23种设计模式(3):抽象工厂模式

文章来源:http://blog.csdn.net/zhengzhb/article/details/7359385定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

系统 2019-08-12 09:30:25 1806

编程技术

原型(Prototype)模式

克隆的实现方法有两种:浅拷贝(shallowcopy)与深拷贝(deepcopy)。浅拷贝是指当对象的字段值被拷贝时,字段引用的对象不会被拷贝。例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅拷贝,那么两个对象将引用同一个字符串。深拷贝是对对象实例中字段引用的对象也进行拷贝的一种方式,所以如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个深拷贝的话,我们将创建一个新的对象和一个新的字符串--新对象将引用新字符串。需要注意的是执

系统 2019-08-12 09:29:47 1806

编程技术

非常好的视频课程。

非常好的视频课程。Java初级教程http://***/forum/posts/list/1029.htmlJava中级教程http://***/forum/posts/list/0/1032.htmlJava高级教程-理论部分http://***/forum/posts/list/0/1033.htmlJava高级教程-项目部分http://***/forum/posts/list/0/1034.htmlOracle数据库开发及SQL基础实战http:/

系统 2019-08-12 01:33:02 1806

Python

使用python写的opencv实时监测和解析二维码和条形码

今天,我实现了一个很有趣的demo,它可以在视频里找到并解析二维码,然后把解析的内容实时在屏幕上显示出来。然后我们直入主题,首先你得确保你装了opencv,python,zbar等环境。然后这个教程对于学过opencv的人可能更好理解,但是没学过也无妨,到时候也可以直接用。比如我的电脑上的环境是opencv2.4.x,python2.7,和最新的zbar,在Ubuntu12.12的系统下运行的假设你的opencv已经安装好了,那么我们就可以安装zbar你可

系统 2019-09-27 17:57:00 1805

Python

用python记录运行pid,并在需要时kill掉它们的实例

我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个。但是爬虫程序通常是写了死循环,或直到分配给该进程的任务都跑完才退出的。如果我们想中途结束掉这些任务,是没办法手工一个一个kill掉的。那么该如何结束这些进程呢?我的方法就是在运行爬虫进程时,记录该进程的Pid,然后在需要手动结束时,再用语句kill掉它们。foriin{1..100}donohuppythonNetEase_comms_

系统 2019-09-27 17:56:59 1805

Python

K近邻算法的python实现

前言在K近邻的原始算法中,没有对K近邻的方法进行优化,还是遍历训练集,找到与输入实例最近的K个训练实例,统计他们的类别,以此作为输入实例类别的判断。具体的模型理论见:统计学习方法——K近邻法(原始方法)1.K近邻算法的实现在算法实现的过程中,利用的是欧氏距离进行点与点之间的距离度量。在进行数据运算的时候,没有利用numpy,而是利用Python中自带的list来进行数据的计算。defknn(x,dataSet,labels,k):distanceMemor

系统 2019-09-27 17:56:59 1805

Python

Python学习之旅:用Python制作一个打字训练小工具

一、写在前面说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和ICU。别人眼中的程序员:飞快的敲击键盘、酷炫的切换屏幕、各种看不懂的字符代码。然而现实中的程序员呢?对于很多程序员来说,没有百度和Google解决不了的问题,也没有ctrl+c和ctrl+v实现不了的功能。那么身为一个程序员,要怎么让自己看起来更加“专业”呢?答案就是加快自己的打字速度了,敲的代码可能是错的,但这个13却是必须装的!然而还是

系统 2019-09-27 17:56:59 1805

Python

跟老齐学Python之有容乃大的list(3)

对list的操作向list中插入一个元素前面有一个向list中追加元素的方法,那个追加是且只能是将新元素添加在list的最后一个。如:>>>all_users=["qiwsir","github"]>>>all_users.append("io")>>>all_users['qiwsir','github','io']从这个操作,就可以说明list是可以随时改变的。这种改变的含义只它的大小即所容纳元素的个数以及元素内容,可以随时直接修改,而不用进行转换。这

系统 2019-09-27 17:56:53 1805

Python

python中几个常见的魔法方法

首先,什么是魔法方法呢?在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法。__init__()方法当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。__init__()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参数,那么__init__()方法除了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)。之前我们是这样给对象添加属性的:classStudent:pa

系统 2019-09-27 17:56:52 1805

Python

算法与数据结构(十六):Python 内建排序方法总结

Python内建排序机制很强大,此处对其进行一个较为系统的使用总结。1.排序方法介绍Python中有2个排序函数,一个是list内置的sort()方法,另一个是全局的sorted()方法sorted(iterable,key=None,reverse=False)#返回排好序的新列表,不改变对象本身,默认升序;reverse:-True降序-False正序对所有可迭代的对象均有效list.sort(key=None,reverse=False)#将list

系统 2019-09-27 17:56:11 1805