断言语句的格式

assert test, [msg]

test是一个表达式,表达式求值为Fals时引发AssertionError异常,msg是可选的异常消息。

def test_assert(a):
"""
当输入的参数不大于0时断言抛出异常
"""
assert a > 0, 'a需要大于0'
print('a=', a) test_assert(-10)

运行test_assert(-10)程序将抛出异常:

Traceback (most recent call last):

File "M:/project/untitled1/testdatetime.py", line 788, in

main()

File "M:/project/untitled1/testdatetime.py", line 303, in main

test_assert(-10)

File "M:/project/untitled1/testdatetime.py", line 293, in test_assert

assert a > 0, 'a需要大于0'

AssertionError: a需要大于0

断言使用注意

  • 断言只能作为辅助调试手段使用,在表达式为False时抛出异常终止程序执行,不能在程序中代替条件判断语句,因为程序以优化方式运行时不会执行断言语句。
  • 添加-O参数程序运行在优化模式,不会输出断言

    python -O main.py

最新文章

  1. asp.net教程:编译错误同时存在于不同dll中
  2. 多线程中共享变量——CCF总决赛试题
  3. Laravel 5 服务的注册和使用
  4. writing concurrent programs
  5. Java日志管理方法(转载)
  6. 必备的 Java 参考资源列表(转)
  7. Spring MVC与Struts2的区别
  8. AC日记——【模板】字符串哈希 洛谷 3370
  9. K好数--蓝桥杯
  10. Python入门 - 时间处理
  11. spring中注解式事务不生效的问题
  12. July 01st. 2018, Week 27th. Sunday
  13. ABP中针对sql2008的数据库配置
  14. 003-SqlHelper.cs/Web.config
  15. 简述Spring容器与SpringMVC的容器的联系与区别
  16. MapReduceV1作业生命周期图解以及与YARN基本对比
  17. MSSQL给字段添加默认值
  18. Linux下查看系统版本和make版本
  19. django需要了解的
  20. 阿里云OSS-web直传---在服务端c#签名,浏览器直传

热门文章

  1. maven 自动编译脚本
  2. maven 配置发布仓库
  3. Spring Boot Shiro
  4. 实现粘贴WORD图片的在线编辑器
  5. bzoj1964: hull 三维凸包
  6. MatrixTraceTransform主要逻辑在transform方法中
  7. 相同name,取最小的id的值,mysql根据相同字段 更新其它字段
  8. C#通过UserAgent判断智能设备(Android,IOS,PC,Mac)
  9. python中进程池和回调函数
  10. 基于各种基础数据结构的SPFA和各种优化