编程技术

使用设计模式改善程序结构(二)

使用设计模式改善程序结构(二)在本系列的第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我们的实际问题,从而做出明智的选择。1、回顾在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介绍了设计模式的意图、动机在我们程序重构过程中的指导作用

系统 2019-08-29 22:02:35 2230

编程技术

初探SchemaExport工具使用

使用SchemaExport自动建表之前都是用最蠢的方法:SQL建立数据库相关的表,然后再Java写映射写配置文件.....实际上使用Hibernate自带的工具hbm2ddl,建立根据你的对象建立数据库是很惬意的一件事;)首先当然要建好POJOobject,XMLMappingFile(也可以使用工具根据POJOclass建立),配置文件(hibernate.cfg.xml)然后运行下面的Java代码importorg.hibernate.cfg.Con

系统 2019-08-12 09:29:56 2230

Python

Python中zip()函数的简单用法举例

定义:zip([iterable,...])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将listunzip(解压),看下面的例子就明白了:>>>a=[1,2,3]>>>b=[4,5,6]>>>c=[4,5,6,7,8]>>>zipped=

系统 2019-09-27 17:54:31 2229

Python

库函数tf.conv2d()卷积的python实现

话不多说,代码说话:importnumpyasnpimportmathclassConv2D(object):def__init__(self,shape,output_channels,ksize=3,stride=1,method='VALID'):self.input_shape=shapeself.output_channels=output_channelsself.input_channels=shape[-1]self.batchsize=s

系统 2019-09-27 17:54:04 2229

Python

让python pip使用国内镜像

转自:https://www.cnblogs.com/wqpkita/p/7248525.html国内源:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http:

系统 2019-09-27 17:53:04 2229

Python

Python Web程序搭建简单的Web服务器

上一篇讲了《Python入门》Windows7下PythonWeb开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个PythonWeb程序――简单的Web服务器。与其它Web后端语言不同,Python语言需要自己编写Web服务器。如果你使用一些现有的框架的话,可以省略这一步;如果你使用PythonCGI编程的话,也可以省略这一步;用Python建立最简单的web服务器利用Python自带的包可以建立简单的web服务器。在DOS里cd

系统 2019-09-27 17:53:04 2229

Python

Python 生成器

一、推导式1.1列表推导式语法:[最终结果(变量)for变量in可迭代对象]1lst=[xforxinrange(1,15)]2print(lst)345#获取1-100以内能被3整除的数6lst=[iforiinrange(100)ifi%3==0]78#获取1-100以内能被3整除的数的平方9lst=[i*iforiinrange(100)ifi%3==0]1.2字典推导式1dic={"a":"b","c":"d"}2#把字典中的key,value互换

系统 2019-09-27 17:52:23 2229

Python

Python中使用MELIAE分析程序内存占用实例

写的dht协议搜索的程序,这几天优化了一下发现速度确实快了好多。但是出现了一个新的问题,内存直接飙升,我开了十个爬虫占用内存800m。开始我以为是节点太多了,找了几个小问题修改一下,发现没用。后来就到网上查找python内存分析的工具,查了一点资料发现python有个meliae库操作非常方便,就使用分析了一下,发现不是节点太多的原因00,是保存发送的t_id,用来标示返回的消息是那个发出的一个字典过大了。从分析的结果非常容易的定位了某个对象的数量和大小,

系统 2019-09-27 17:52:11 2229

Python

自然语言处理工具python调用hanlp的方法步骤

阅读更多Python调用hanlp的方法此前有分享过,本篇文章分享自“逍遥自在017”的博客,个别处有修改,阅读时请注意!1.首先安装jpype首先各种坑,jdk和python版本位数必须一致,我用的是JPype1-py3版本号0.5.5.2、1.6jdk和Python3.5,win764位下亲测没问题。否则死翘翘,有可能虚拟机都无法启动:出错调试,原因已说;测试成功会有输出。下面启动虚拟机跑hanlp2.下载各种安装包使用自定义的HanLP——HanLP

系统 2019-09-27 17:50:20 2229

Python

python 使用Anaconda管理项目环境

Pycharm没有内置的python解释器,需要我们自己下载python解释器。在很多python项目中,会导入第三方的模块,逐个去下载导入很不方便。我们通常使用Anaconda来管理python的项目环境,Anaconda自带python解释器,且提供了大量的第三方模块,引入第三方库很方便。Anaconda的安装如果未勾选第一个添加到Path环境变量中,后面需要手动在path环境变量中添加conda.exe所在目录的路径。红框圈出的是Anaconda核心

系统 2019-09-27 17:48:58 2229

Python

Python3 文章标题关键字提取的例子

思路:1.读取所有文章标题;2.用“结巴分词”的工具包进行文章标题的词语分割;3.用“sklearn”的工具包计算Tf-idf(词频-逆文档率);4.得到满足关键词权重阈值的词结巴分词详见:结巴分词Githubsklearn详见:文本特征提取――4.2.3.4Tf-idf项加权importosimportjiebaimportsysfromsklearn.feature_extraction.textimportTfidfVectorizersys.pat

系统 2019-09-27 17:48:06 2229

Python

python django集成cas验证系统

加入cas的好处cas是什么东西就不多说了,简而言之就是单点登陆系统,一处登陆,全网有权限的系统均可以访问.一次登陆,多个系统互通cas一般均放置在内网,加入cas验证则必须要求用户走vpn访问,提高安全性;cas可和域控等系统结合,密码定时过期;基本认证统一走cas控制,减去开帐号等麻烦事;django如何使用cas验证django的好处就是支持的包多,网上已经有大神做好的相关的app,直接下载、安装就可以了。我们要做的就是下载、解压拷贝,略微配置下就可

系统 2019-09-27 17:47:28 2229

Python

Python入门之modf()方法的使用

modf()方法返回两个项的元组x的整数小数部分。这两个元组具有相同x符号。则返回一个浮点数的整数部分。语法以下是modf()方法的语法:importmathmath.modf(x)注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。参数x--这是一个数值表达式返回值这种方法在两项的元组返回x的整数小数部分。具有相同的x符号。整数部分则返回一个浮点数。例子下面的例子显示了modf()方法的使用。#!/us

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

Python

python绘制直方图和密度图的实例

对于pandas的dataframe,绘制直方图方法如下://pdf是pandas的dataframe,delta_time是其中一列//xlim是x轴的范围,bins是分桶个数pdf.delta_time.plot(kind='hist',xlim=(-50,300),bins=500)对于pandas的dataframe,绘制概率密度图方法如下://pdf是pandas的dataframe,delta_time是其中一列pdf.delta_time.d

系统 2019-09-27 17:45:41 2229

Python

PYTHON压平嵌套列表的简单实现

list是Python中使用最频繁的数据类型,标准库里面有丰富的函数可以使用。不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数,要知道Ruby、Mathematica、Groovy中可是有flatten的啊。如果列表是维度少的、规则的,还算好办例如:li=[[1,2],[3,4],[5,6]]print[jforiinliforjini]#orfromitertoolsimportchainprintlist(chain

系统 2019-09-27 17:38:27 2229