凡是用print()来辅助查看的地方,都可以用断言(assert)来替代
使用assert和print()都可以打印信息,但是assert的好处就是如果不想输出信息到控制台时,可以通过设定参数-O的方式来禁止输出信息
而print()却只能通过注释的方式来禁止输出
使用断言
如果断言失败,assert语句本身就会抛出AssertionError
def foo(s):
n = int(s)
assert n != 0,'n is zero!' #assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错
return 10 / n
def main():
foo('0')
main()
#输出;
Traceback (most recent call last):
...
AssertionError: n is zero!
关闭断言
程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动Python解释器时可以用-O参数来关闭assert
断言关闭后,你可以把所有的assert语句当成pass来看
python -O err.py #:断言的开关“-O”是英文大写字母O,不是数字0
1827

被折叠的 条评论
为什么被折叠?



