科学代码的运行时验证和自动测试

paranoid-scientist的Python项目详细描述


Paranoid Scientist

Build StatusBuild status

偏执科学家是一个python模块,它允许运行时 使用Python验证Python函数的出入条件 优先解释类型的新型系统 他们的代表。它是为科学软件设计的。更多 具体而言,它提供以下功能:

  • 一个新型系统,它强调类型的含义 而不是类型的数据结构
  • 对任意^ ^ {STR 1 }的出入条件< <强>进行验证,包括更多 具有通用量化的复杂表达式。
  • 在 程序的执行,函数是否符合 规范。
  • 一个简单明了的函数装饰符号

documentationconceptual FAQstechnical FAQs, 或 tutorial 更多信息。

系统要求

  • python 3.5或更高版本
  • 可选:numpy(用于numpy类型支持)

许可证

所有代码都可以在麻省理工学院的许可下使用。有关更多信息,请参见license.txt 信息。代码版权所有2018 Max Shinn。商标是版权 2018年阿纳斯塔西娅·厄索娃。

默认情况下包括哪些类型?

  • 数字类型:
    • 数字:任何实数,加上inf/-inf/nan。
    • 扩展实数:任何实数加上inf/-inf。
    • 数字:任何实数。
    • 整数:整数。
    • 自然数0:包含0的自然数。
    • 自然1:从1开始的自然数。
    • 范围(x,y):间隔[x,y]中的一个数字。
    • rangeclosedopen(x,y):间隔[x,y]中的一个数字。
    • rangeopenclosed(x,y):间隔(x,y)中的一个数字。
    • rangeopen(x,y):范围(x,y)内的一个数字。
    • 正数0:正数或零。
    • 正数:不包括零的正数。
    • Ndarray(d=none,t=none):一个新的Numpy Ndaray。可选,需要 它有d维度。可选地,需要 数组的类型为t(可以是任何偏执类型)。
  • 其他:
    • 未选中(t=none):不检查此元素的类型。 可选地,偏执类型t可以作为类型传递给 在自动测试期间生成(允许对功能进行测试 未选中类型)。
    • 常数(v):只能是值v
    • self:在类内部为self参数使用的特殊类型。
    • 无:只能是无。
    • 函数:任何python函数。
    • 布尔值:true或false。
    • 和(T1,T2,…):任何数量的偏执类型都可以作为 论据。需要一个值来满足所有这些类型。
    • 或者(t1,t2,…):任意数量的偏执类型都可以作为 论据。要求一个值至少满足其中一个 类型。
    • not(t):可以是偏执型以外的任何类型t
  • 收藏:
    • set(els):参数els应该是接受的列表 价值观。这相当于枚举。例如, set([0,1,2,3])只接受这四个数字。
    • list(t):一个python列表,包含偏执类型的元素t
    • dict(k,v):一个python字典,其中键具有偏执类型 k和值具有妄想型v
  • 字符串:
    • 字符串:任何字符串。
    • 标识符:任何仅包含字母数字的非空字符串 字符加下划线和连字符。
    • 字母数字:任何非空的字母数字字符串。
    • 拉丁语:任何仅包含拉丁字符的非空字符串。

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

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?