将常用的范围符号解析为python对象

py-range-parse的Python项目详细描述


py范围解析ContributorsMIT LicenseCode Sizehttps://badge.fury.io/py/py-range-parseBuild Status

py range parse是一个分析常用范围的库 作为集合的python对象的符号。在

py range parse由

希望还有很多其他人:)

如何使用

pip install py-range-parse
^{pr2}$

或手动创建:

frompy_range_parseimportRangerange=Range(0,5)

输入格式

str解析Range时,将忽略任何空白。在

int范围

如果startend值都属于int类型,则得到的{}将只考虑整数作为其一部分。如果还想包括float值,那么至少其中一个值必须是float。在

  • [-2 .. 5]
  • [10 .. 1]

如果end值大于start值,结果范围将自动反转。因此range.start <= range.endRange中是^{str1}$始终True。在

float范围

floatRange包含startend值之间的所有可能的float值。在

  • [-2.2 .. 5.123]
  • [-2.0 .. 5]

无穷大

也可以使用inf和unicode符号来指定无穷大。由于它在内部使用math.inf表示,它的行为将类似于float。在

  • ]-inf .. inf[
  • ]-∞ .. ∞[

排除边界

startend值可以使用左括号表示法从相互独立的Range中排除。在

  • ]0 .. 5.5]
  • ]0 .. inf[

操作

包含

您可以很容易地检查某个值是否在给定的Range内,如下所示:

>frompy_range_parseimportparse_range>range=parse_range("[0 .. 5]")>print(4inrange)True

比较

可以使用==运算符比较两个Range实例的相等性。 两个量程要相等,就必须有相同的量程

  • start
  • end
  • 开始包含
  • 端部夹杂物
  • 类型(intfloat
>frompy_range_parseimportparse_range>range1=parse_range("[0 .. 5]")>range2=parse_range("[0 .. 5]")>range3=parse_range("[0 .. 5.0]")>print(range1==range2)True>print(range1==range3)False

贡献

GitHub是用于社会化编码的:如果你想写代码,我会通过forks的pull请求来鼓励贡献 此存储库的。为bug和新特性创建GitHub罚单,并对您感兴趣的特性进行评论。在

许可证

py-range-parse
Copyright (c) 2019 Markus Ressel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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

推荐PyPI第三方库


热门话题
java如何转换apache。cfx。OmeElement的头对象   java无法从SpringSource工具套件2.8.1热部署到GlassFish 3.1   从聊天中删除用户的阵列(Java)   JAVA木卫一。在安卓中解压缩时发生FileNotFoundException   java如何在活动和其他Activity创建的线程之间进行通信   java使用TimeUnit在更改JavaFX标签文本之间休眠   使用hibernate在MySql数据库表中实现java行级锁定   nextLine()扫描仪java无法正常工作(可能是因为Unicode)   java HSQLDB 2.4如何使用UNIX_MILLIS()作为BIGINT列的默认值   java如何为媒体卷更改注册ContentObserver?   JAVA木卫一。IOException:在salesforce上插入数据时,不活动的原因是必需的   java跨越了可观察对象发出的值   java在使用try and catch时播放声音