生产质量“最小”和“最大”对象(改编自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组织。openqa。硒。遥远的UnreachableBrowserException如何定义EXE路径?   java Camel AdviceWith不使用指定文件替换端点   基于字符串的java图像加载   Java中的启发式算法,计算8个谜题状态的线性冲突   java为什么不支持文件。probeContentType返回null   JPA@EntityListeners、@PrePersist和Spring@RepositoryEventHandler、@HandleBeforeSave之间的java差异   可能前缀的Java字符串到字符串[]   安装rJava | Makefile时发生java错误。全部:38:target’libjri的配方。所以他失败了   Java公共静态void main()   java如何覆盖txt文件中的某些单词   java如何获得循环中生成的字符值之和?   java Log4j创建另一个具有相同属性的appender   java如何在从Axis2 Web服务客户端通过代理服务器调用Web服务时设置代理设置?   在Windows上安装Elasticsearch时发生java错误   java如何向EditText组件添加TextChangedListener?