科学代码的运行时验证和自动测试
paranoid-scientist的Python项目详细描述
偏执科学家是一个python模块,它允许运行时 使用Python验证Python函数的出入条件 优先解释类型的新型系统 他们的代表。它是为科学软件设计的。更多 具体而言,它提供以下功能:
- 一个新型系统,它强调类型的含义 而不是类型的数据结构。
- 对任意^ ^ {STR 1 }的出入条件< <强>进行验证,包括更多 具有通用量化的复杂表达式。
- 在 程序的执行,函数是否符合 规范。
- 一个简单明了的函数装饰符号
见 documentation, conceptual FAQs, technical 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
。
- 未选中(t=none):不检查此元素的类型。
可选地,偏执类型
- 收藏:
- set(els):参数
els
应该是接受的列表 价值观。这相当于枚举。例如, set([0,1,2,3])只接受这四个数字。 - list(t):一个python列表,包含偏执类型的元素
t
- dict(k,v):一个python字典,其中键具有偏执类型
k
和值具有妄想型v
。
- set(els):参数
- 字符串:
- 字符串:任何字符串。
- 标识符:任何仅包含字母数字的非空字符串 字符加下划线和连字符。
- 字母数字:任何非空的字母数字字符串。
- 拉丁语:任何仅包含拉丁字符的非空字符串。