支持与优化模式一起使用的Python安全断言
项目描述
safe-assert
允许用户编写在优化模式下不会被删除的可组合的assert
。
功能
- 单个简单、Pythonic、快速、经过测试、类型化、有文档的函数。仅此而已!
- 因为
safe_assert
是一个函数,所以它可以很容易地与其他函数组合 - 完全类型化,带有注解,并使用mypy进行验证,与PEP561兼容
安装
pip install safe-assert
示例
用法与assert
关键字相同,但是一个函数
from safe_assert import safe_assert
def sort_positive_numbers(numbers: List[int]) -> List[int]:
safe_assert(all(num >= 0 for num in numbers), 'found negative')
return sorted(numbers)
sort_positive_numbers([1, 2, 3]) # => will work
sort_positive_numbers([-1, 2, 3])
# => will fail in runtime with `AssertionError`
它与传统assert
有何不同?主要区别在于它不会被-O
标志删除。因此,它仍然允许编写在生产中安全的声明性检查。
第二个区别在于您可以将它组合成任何其他常规函数。与dry-python
项目一起使用很有用。
内部机制
它是如何内部工作的?它内部引发与assert
关键字本身使用的相同的AssertionError
。
请参阅文档了解详细信息。
许可证
MIT许可。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
safe_assert-0.5.0.tar.gz (3.8 kB 查看哈希值)
构建分发
safe_assert-0.5.0-py3-none-any.whl (4.2 kB 查看哈希值)
关闭
safe_assert-0.5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3d04d92d28ec6885246c8ed068dfca4109e4dbfb7c12bc1d3f9d825a86907cc9 |
|
MD5 | 00188479b8bb764588ad99d033fc6b00 |
|
BLAKE2b-256 | e5bba61f3ff476b4448532978d828a030c8f9bf81b4e04179dadc98df512c0bd |
关闭
safe_assert-0.5.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aec1348bf6baac240d263b1c69eb0c00c0d9dc90c9d73c76cb9ad30d98ea8fd1 |
|
MD5 | f51e3ab835e371a09081a5604858f5b3 |
|
BLAKE2b-256 | f0c5096a78bca1285c92384adf4d6517cfbcc1e52ce156583b962ca7fa93f2ab |