Python

详解Python 字符串相似性的几种度量方法

字符串的相似性比较应用场合很多,像拼写纠错、文本去重、上下文相似性等。评价字符串相似度最常见的办法就是:把一个字符串通过插入、删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种就是编辑距离(editdistance)度量方法,也称为Levenshtein距离。海明距离是编辑距离的一种特殊情况,只计算等长情况下替换操作的编辑次数,只能应用于两个等长字符串间的距离度量。其他常用的度量方法还有Jaccarddistance、J-W距离(Ja

系统 2019-09-27 17:57:15 2271

Python

Python 实例方法、类方法、静态方法的区别与作用

Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)实例方法定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);调用:只能由实例对象调用。类方法定义:使用装饰器@classmethod。第一个参数必须是当前

系统 2019-09-27 17:56:54 2271

Python

python 之 Django框架(orm单表查询、orm多表查询、聚合查询

12.329orm单表查询importosif__name__=='__main__':#指定当前py脚本需要加载的Django项目配置信息os.environ.setdefault("DJANGO_SETTINGS_MODULE","orm_demo.settings")importdjangodjango.setup()#启动Django项目fromapp01importmodels#返回QuerySet对象的方法:ret=models.Book.ob

系统 2019-09-27 17:56:39 2271

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 2271

Python

Python中为feedparser设置超时时间避免堵塞

python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设置一个超时时间。可是feedparser并没有提供这个功能,只好采用其他方法了,具体办法请参看feedparser项目的issue221。其实也很简单,按照上面文档的说明developershavehadtheabilitytosetaglobaltimeou

系统 2019-09-27 17:56:01 2271

Python

02_python基础(面向对象编程)

面向对象编程:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。面向对象思想三大要素:封装,继承和多态。1定义使用类classStudent(object):#__init__

系统 2019-09-27 17:55:18 2271

Python

Python数据结构

概述数据结构是组织数据的方式,以便能够更好的存储和获取数据。数据结构定义数据之间的关系和对这些数据的操作方式。数据结构屏蔽了数据存储和操作的细节,让程序员能更好的处理业务逻辑,同时拥有快速的数据存储和获取方式。在这篇文章中,你将了解到多种数据结构以及这些数据结构在Python中实现的方式。抽象数据类型和数据结构数据结构是抽象数据类型(ADT)的实现,通常,是通过编程语言提供的基本数据类型为基础,结合相应的代码来实现。通常来说,数据结构分为两类:原始数据结构

系统 2019-09-27 17:54:21 2271

Python

Python学习笔记(四)----Pywin32+Pyinstaller制作

一:pywin32+pyinstaller安装双击pywin32-221.win-amd64-py3.5.exe安装,注意安装的时候会自动检测之前安装的Python。下一步,下一步。在CMD命令行进入Python3.5目录下的Scripts目录并执行:pythonpywin32_postinstall.py-install命令在CMD命令行中进入D:\Programs\Python\pyinstaller-pyinstaller目录(之前解压的pyInst

系统 2019-09-27 17:53:44 2271

Python

python字符串替换的2种方法

python字符串替换可以用2种方法实现:1是用字符串本身的方法。2用正则来替换字符串下面用个例子来实验下:a=‘helloword’把a字符串里的word替换为python1、用字符串本身的replace方法1a.replace(‘word’,‘python’)输出的结果是hellopython2、用正则表达式来完成替换1importre2strinfo=re.compile(‘word’)3b=strinfo.sub(‘python’,a)4print

系统 2019-09-27 17:53:40 2271

Python

使用python 写一个静态服务(实战)

师父布置的任务,让我写一个服务练练手,搞清楚socket的原理和过程后跑了一个小demo,很有成就感,代码内容也比较清晰易懂,很有教育启发意义。代码#coding:utf-8importsocketfrommultiprocessingimportProcessHTML_ROOT_DIR=""defhandle_client(client_socket):"""处理客户端请求"""#获取客户端请求数据request_data=client_socket.r

系统 2019-09-27 17:53:32 2271

Python

Django或者Flask创建Python虚拟环境启动第一个Hello

前言刚开始开发Web的时候,没太在意隔离虚拟环境,用了系统的那一套,Python2.7版本是系统自带的,虽说明年就结束了,但是现在开发都会有一套3.x以上的环境,即使你开发不注意,你部署的时候总归是要隔离出来的。1.方便隔离,不同环境编写测试2.方便迁移,pipfreeze到出包文件依赖,随后提交管理和迁移都很方便virtualenv前提是你有两套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py

系统 2019-09-27 17:52:33 2271

Python

【第十三篇】Python 异常

一、异常1.1异常介绍异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下:1.2异常种类在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误1#触发IndexError2l=['egon','aa']3l[3]45#触发KeyError6dic={'name':'egon'}7dic['age']89#触发ValueError10s='hello'1

系统 2019-09-27 17:52:31 2271

Python

Python map和reduce函数用法示例

先看map。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。举例说明,比如我们有一个函数a(x)=x*2,要把这个函数作用在一个list[1,2,3,4,5]上,就可以用map()实现如下:复制代码代码如下:>>>defa(x):...returnx*2...>>>map(a,[1,2,3,4,5])[2,4,6,8,10]map传入的第一个参数a,即a函数,当然你也可以不用ma

系统 2019-09-27 17:52:06 2271

Python

Python基础(2)

五,Python基础(2)1.数据类型基础(一)什么是数据类型?用于区分变量值的不同类型。(二)为何对数据分类?针对不同状态就应该用不同类型的数据去标识。(三)数据类型分类1.数字类型1.1整型(int)1.11作用表示人的年龄、各种号码、级别1.12定义age=24#age=int(24)print(id(age))print(type(age))print(age)1982099648241.13如何用加减乘除、逻辑判断(大于、小于)print(a+b

系统 2019-09-27 17:50:57 2271

Python

Python生成器

什么是生产器利用迭代器,我们可以每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生产下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法。即生成器(gennerator)。生成器是一类特殊的迭代器创建生成器的方法1:将列表生成器[]改为()代码:nums=[x*2forxinrange(10)]print(num

系统 2019-09-27 17:49:50 2271