我们正在寻找在多个 Django 项目或同一项目的组件之间共享的自开发库,而不是已发布的开源库。
问题:
我们想知道是否可以使用
assert
来验证变量的值。
我们没有找到关于这个主题的在线文章,所以如果是,我们怎么办?
更多信息:
logic
等于and
或or
。而且设计似乎比使用 else
子句假设值必须是另一个更好。if logic == 'and':
main_Q = main_Q & filter_Q
elif logic == 'or':
main_Q = main_Q | filter_Q
else:
assert False, "Invalid value of `logic`, it needs to be either `and` or `or`."
或:
if logic == 'and':
main_Q = main_Q & filter_Q
else:
assert logic == 'or'
main_Q = main_Q | filter_Q
assert
的用法。grep "assert" -v "test"
目录下做site-packages
搜索,在assert
、amqp
、argparse
、billiard
的库中,发现函数源码中有多个
celery
语句,不是测试用的、
dateutil
、decorator
、distlib
等。但是,使用 assert 似乎是一种高级技术,我们需要帮助来查找有关操作方法的文章。./amqp/sasl.py: assert isinstance(mechanism, bytes)
./amqp/sasl.py: assert isinstance(response, bytes)
Binary file ./amqp/__pycache__/sasl.cpython-37.pyc matches
./argparse.py: assert self._current_indent >= 0, 'Indent decreased below 0.'
./argparse.py: assert ' '.join(opt_parts) == opt_usage
./argparse.py: assert ' '.join(pos_parts) == pos_usage
./argparse.py: assert action_tuples
./arrow-0.17.0.dist-info/LICENSE: incurred by, or claims asserted against, such Contributor by reason
./attr/_compat.py: raise AssertionError # pragma: no cover
./attr/_compat.py: raise AssertionError # pragma: no cover
Binary file ./attr/__pycache__/_compat.cpython-37.pyc matches
./billiard/connection.py: assert waitres == WAIT_OBJECT_0
./billiard/connection.py: assert err == 0
... and many more matches ...
我们非常感谢任何提示和建议。