1、基本概念:FactoryMethod是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类。当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到FactoryMethod模式了。简单说来,FactoryMethod可以根据不同的条件产生不同的实例,当然这些不同的实例通常是属于相同的类型,具有共同的父类。FactoryMethod把创建这些实例的具体过程封装起来了,简化了客户端的应用,也改善了
系统 2019-08-29 22:31:29 2131
系统 2019-08-12 09:30:34 2131
ClassLoader是Java虚拟机(JVM)的类装载子系统,它负责将Java字节码装载到JVM中,并使其成为JVM一部分。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块,而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。2装载过程简介类装载就是寻找一个类或是一个接口的字节码文件并通过解析该字节码来构造代表这个类或是这个接口的class对象的过程。在Java中,类装载器把
系统 2019-08-12 09:30:01 2131
Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回。使用property修饰的实例方法被调用时,可以把它当做实例属性一样property的用法1――装饰器方式在类的实例方法上应用@property装饰器classTest:def__init__(self):self.__num=100@propertydefnum(self):print("--get--")returnself.__num@num
系统 2019-09-27 17:57:10 2130
"""python提取文本的tfidf特征"""importmathfromcollectionsimportCounter#1.语料库corpus=['thisisthefirstdocument','thisisthesecondseconddocument','andthethirdone','isthisthefirstdocument']#2.对语料进行分词word_list=[]foriinrange(len(corpus)):word_lis
系统 2019-09-27 17:57:10 2130
一个简单的实现classNaiveFilter():'''FilterMessagesfromkeywordsverysimplefilterimplementation>>>f=NaiveFilter()>>>f.add("sexy")>>>f.filter("hellosexybaby")hello****baby'''def__init__(self):self.keywords=set([])defparse(self,path):forkeywo
系统 2019-09-27 17:56:10 2130
写文件f=open('url.txt','a')#若是'wb'就表示写二进制文件f.write(response.url+'\n')f.close()
系统 2019-09-27 17:55:55 2130
在上一讲代码的基础上,做进一步修改,成为了如下程序,请看官研习这个程序:复制代码代码如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,email):self.name=nameself.email=emailclassProgrammer(Person):def__init__(self,name,email,lang,system,website):Person._
系统 2019-09-27 17:55:24 2130
本来PHP还学艺不精,又报了计算机二级Python的考试,还有一个半月的时间,抓紧买了高教社的这两本书,今天正式开始学习这个语言,虽然没法和世界上最好的语言PHP相提并论,但是也值得一学。虽然先看蓝K,但是很喜欢黄K前言里的第一句话:“应试”是个中性词。设定一个阶段目标,为之努力,这是一种乐趣!正式开始:第1章程序设计基本方法1.1程序设计语言高级语言根据执行机制分为:静态语言(C、Java)、脚本语言(JavaScript、PHP、Python)。执行方
系统 2019-09-27 17:55:21 2130
Python截取字符串使用变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。#例1:字符串截取str='12345678'printstr[0:1]>>1#输出str位置0开始到位置1以前的字符printstr[1:6]>>23456#输出str位置1开始到位置6以前的字符num=18str='0000'+str(num)#合并字符串printstr[-5:]#输出字符串右5位>>0001
系统 2019-09-27 17:55:20 2130