基类,以便比较对象的相似性。

Comparable的Python项目详细描述


可比

Build Status
Coverage Status
Scrutinizer Code Quality
PyPI Version
PyPI Downloads

Comparable是一个提供抽象基类的库,它支持 要比较“相等”和“相似”的子类 属性。

开始

要求

  • 巨蟒3.3+

安装

可与PIP进行比较:

$ pip install comparable

或者直接从源代码:

$ git clone https://github.com/jacebrowning/comparable.git
$ cd comparable
$ python setup.py install

基本用法

安装后,抽象基类可以从 套餐:

$ python
>>> import comparable
>>> comparable.__version__
>>> from comparable import SimpleComparable, CompoundComparable

可比较类使用==作为“相等”和^{tt2}的操作$ 作为“相似”的运算。它们也可以覆盖 threshold属性设置“相似性”比率。

简单可比数据

简单的可比较类型必须重写equalitysimilarity返回bool和相似性对象的方法, 分别是。有关示例,请参见comparable.simple

复合可比数据

复合可比类型包含多个简单可比类型。他们 必须重写attributes属性以定义哪些属性 应用于比较。有关示例,请参见comparable.compund

示例

可比较包括许多通用的可比较类型:

$ python
>>> from comparable.simple import Number, Text, TextEnum, TextTitle
>>> from comparable.compound import Group

基本脚本可能类似于以下内容:

from comparable.simple import TextTitle
from comparable import tools

base = TextTitle("The Cat and the Hat")
items = [TextTitle("cat & hat"), TextTitle("cat & the hat")]

print("Equality: {}".format(base == items[0]))
print("Similarity: {}".format(base % items[0]))

print("Duplicates: {}".format(tools.duplicates(base, items)))

对于贡献者

安装

创建虚拟机:

$ make env

运行测试:

$ make test
$ make tests  # includes integration tests

制作文档:

$ make doc

运行静态分析:

$ make pep8
$ make pep257
$ make pylint
$ make check  # includes all checks

准备版本:

$ make dist  # dry run
$ make upload

更改日志

1.0(2015/03/19)

  • 冻结公共API。

0.2.1(2014/05/17)

  • 在基本简单类型中添加了“boou boou”。

0.2(2014/05/12)

  • 向testcase类添加了相似性断言。

0.1.1(2014/03/03)

  • 自述文件清理。

0.1(2014/03/03)

  • 代码清理。

0.0.3(2013/10/13)

  • comparable.threshold现在是一个属性(而不是属性)
  • 固定包级别导入

0.0.2(2013/10/04)

  • 用属性替换comparable.equality\u list/similarity\u dict
  • 将comparable.similarity_threshold替换为threshold

0.0.1(2013/10/02)

  • 首次发布的可比性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
为什么按钮点击播放声音的方法不起作用   java如何在创建小于窗口的PGraphics对象时避免“抗锯齿效应”,然后将其放大到窗口大小?   作用域中的java Antlr check返回语句   java是否在swing中显示所有鼠标悬停事件?   编辑:JAVA(Swing):JAVA(Swing)中是否有任何功能可以像javafx中的webview一样保存Html页面   java GPS文本输入   如何使用Java SE生成多个jasper报告   swing Java ActionListener未拾取按钮   性能为什么java内置序列化比Gson差?   java JAXR使用相同路径创建多个类   java Spring MVC 3.1请求头字符编码问题[UTF8]   java从Hibernate处理的h2数据库的表中删除会损坏该表吗?   Java Mybatis多个更新语句   找不到java JUnitCore类   java扩展SpringWebFlow 2.3