不稳定
unstable的Python项目详细描述
不稳定
因为有时候记录一个函数是不稳定的是不够的。
因为通常情况下,通过查阅文档来了解 稳定需要太多时间。
因为一旦稳定下来,你就会忘记再检查一次。
安装
$ pip install unstable
实用程序
此模块提供了一个decorator来将函数标记为unstable。 不稳定函数将raise一个UnstableWarning 一个unstable上下文。从而防止你使用不稳定的 误操作。
提供一个with unstable()上下文管理器,使 不稳定函数引发的异常。默认情况下,unstable 上下文管理器,它不会检测到unstable函数的任何使用 将记录一个StableWarning。
有关详细信息,请参阅自述文件。
用法
将函数标记为不稳定
fromunstableimportunstable@unstabledeffrobulate(frumious,bandersnatch):galumphing(frumious)+bandersnatch
将分支标记为不稳定
fromunstableimportunstabledefgalumphing(frumious):iffrumious:unstable.here_be_dragons(reason='frumious=True')# ...else:# ...
使用不稳定代码
默认情况下,不稳定的代码将引发UnstableWarning,wrap unstable上下文管理器中的代码不稳定。
fromunstableimportunstablewithunstable:fumious(True,25)# Will Behavefrumious(False,18)# will Fail with UnstableWarninggalumphing(False)# finewithunstable:galumphing(True)# fine
上下文管理器还是装饰器?
问:不稳定是上下文管理器还是装饰器?A:都是。这是魔法。
提前使用:
我需要写医生,欢迎。
为什么?
灵感来自Rust的^{TT10}$,它只允许您使用它 明确地说(我不是在说安全)。这个模仿它(作为 尽可能多)。
我希望能够“发布”不稳定的代码和N.X版本的库 告诉用户“使用风险自负”,尽管没有人阅读文档。在这里 很明显,除非的意思是to,否则不要使用它。还有 “不稳定”在传染函数中使用不稳定函数将 变得(部分)不稳定。不稳定边界很明显 上下文管理器。
试一试怎么样?
它将/可以捕获异常,尽管调用的函数不会 快跑。
待办事项
为sphinx添加一个插件,该插件自动在文档中标记函数 不稳定。