生产质量“最小”和“最大”对象(改编自PEP 326)

Extremes的Python项目详细描述


peak.util.extremes模块提供生产质量实现 来自PEP 326的MinMax对象。而pep 326被拒绝了 为了包含在语言或标准库中,其中描述的对象 在各种应用中都很有用。在巅峰时期,他们已经习惯了 实现一般功能(在ruledispatch和peak规则中),以及 处理网格中的调度和时间操作。因为这导致了 每个项目都复制相同的代码,我们现在已经将模块分离出来,这样它就可以 独立使用。

一些简单的用法示例:

>>> from peak.util.extremes import Min, Max
>>> import sys

>>> Min < -sys.maxint
True
>>> Min < None
True
>>> Min < ''
True
>>> Max > sys.maxint
True
>>> Max > 99999999999999999
True

>>> type(Min)
<class 'peak.util.extremes.Extreme'>

Min对象比任何其他对象都要小,但比它自己小,而 Maxobject比任何其他对象都大,但比它自己大。两者都是 Extreme类型的实例。

虽然最初的pep 326对这些极值的实现更短 与此处使用的版本相比,它包含一个缺陷:它不能正确处理 与经典类实例的比较。因此,这个版本定义了 所有六个富比较运算符的方法,以确保正确支持 经典和新式课程:

>>> Max >= Min and Max > Min and Max==Max and Max!=Min
True
>>> Max < Min or Max <= Min or Max==Min or Max!=Max
False

>>> Min <= Max and Min < Max and Min==Min and Min!=Max
True
>>> Min > Max or Min >= Max or Min==Max or Min!=Min
False

>>> class X:
...     """Ensure rich comparisons work correctly with classic classes"""

>>> x = X()

>>> Min<x<Max and Min<=x<=Max and Min!=x!=Max and Max!=x!=Min
True

>>> Min>x or x>Max or x<=Min or x>=Max or x==Min or Min==x
False

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

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入