凡是用print()来辅助查看的地方,均可以用断言(assert)来替代python
使用assert和print()均可以打印信息,可是assert的好处就是若是不想输出信息到控制台时,能够经过设定参数-O的方式来禁止输出信息spa
而print()却只能经过注释的方式来禁止输出code
使用断言
若是断言失败,assert语句自己就会抛出AssertionErrorblog
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来看io
python -O err.py #:断言的开关“-O”是英文大写字母O,不是数字0