生产质量“最小”和“最大”对象(改编自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第三方库


热门话题
java如何获取元素的文本值   javascript多websockets java   java无法在solaris中为非root用户打开选择器   SwingJava。如何使Jtable特定单元格不可选择?   java Android Studio从drawable中的文件夹获取图像   数组for循环中需要的Java变量   在Java中打印数组的索引   java HystrixCommand在Glassfish中运行时未通过JMX暴露   java Spring boot如何配置多个数据源   多线程Java threadsafe集合,在移除/获取时进行排序   java从ItemStack获取项目槽   eclipse中的java Access弹出菜单是用菜单(控件父级)构造函数创建的   java从POJO调用基于Spring的web应用程序类   使用文件集时,java Ant javadoc不会产生任何结果   java Jetty多个接受程序被阻止,等待锁定,对象被其他接受程序锁定   我不断得到的java在使用Comparable时找不到符号错误   java如何从<a href标记中提取特定url?   java如何在运行时向ScrollView添加文本?   java如何以波浪模式移动对象?   JavaSpring:如何使用注释注入字段