今天在看U-net的PyTorch实现版本的时候,发现里面用到了断言的相关语法,在此记录一下!

一、断言的语法格式

assert <断言判断条件> [,"错误提示消息"]当表达式为真时,程序继续往下执行;当表达式为假时,抛出AssertionError错误,并将‘参数’输出。

二、使用场景

断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误(如未找到相关文件),用户可以予以纠正或重试,断言并不是为此而生的。
如果程序没有bug,那么这些断言条件永远也不会触发,但如果违反了断言条件,程序就会崩溃并报告断言错误,告诉开发人员究竟违反了哪个“不可能”的情况,这样可以更轻松的追踪和修复程序中的bug。python中的断言语句是一种调试辅助功能,不是用来处理运行时错误的机制,使用断言的目的是让开发人员更快速的找到可能导致bug的根本原因,除非程序中存在bug,否则绝不会抛出断言错误。

三、案例

  • 代码
def fun1(s):n = int(s)assert n!= 0, 'n is zero'return 10 / n
fun1('0')
  • 运行结果
AssertionError                            Traceback (most recent call last)
<ipython-input-6-c41609152707> in <module>3     assert n!= 0, 'n is zero'4     return 10 / n
----> 5 fun1('0')<ipython-input-6-c41609152707> in fun1(s)1 def fun1(s):2     n = int(s)
----> 3     assert n!= 0, 'n is zero'4     return 10 / n5 fun1('0')AssertionError: n is zero

参考文献

https://zhuanlan.zhihu.com/p/187589076

一文看懂Python(七)-----断言相关推荐

  1. angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...

  2. 一文看懂Python collections模块的高效数据类型

    原作: George Seif, 发表于medium.com, 大江狗原创翻译, 并对原文稍作修改. Python的最大优势之一是其广泛的模块和软件包.这将Python的功能扩展到许多受欢迎的领域,包 ...

  3. 一文看懂Python 爬虫 进阶(三)

    一文看懂Python 爬虫 进阶(三) 文章目录 一文看懂Python 爬虫 进阶(三) **猫眼电影(xpath)** **链家二手房案例(xpath)** **百度贴吧图片抓取** 这篇几乎都是代 ...

  4. 一文看懂Python多进程与多线程编程(工作学习面试必读)

    进程(process)和线程(thread)是非常抽象的概念, 也是程序员必需掌握的核心知识.多进程和多线程编程对于代码的并发执行,提升代码效率和缩短运行时间至关重要.小编我今天就来尝试下用一文总结下 ...

  5. 一文看懂Python(五)-----文件篇

    一.前言 文件操作在所有编程语言中都扮演着一个非常重要的角色,编程语言中的文件操作都大同小异,无非就是读取和写入,本文会详细介绍Python的相关文件操作,包括常用的方法.方法如何使用.一些小的案例以 ...

  6. c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...

  7. python运行程序-一文看懂python程序的执行过程

    本文主要介绍的是python程序的执行过程,首先介绍的是编译过程,其次介绍的是过程图解及编译字节码,最后介绍了codeobject对象的属性,具体的跟随小编一起来了解一下. 一.编译过程概述 当我们执 ...

  8. 一文看懂Python(六)-----类与对象篇

    今天给大家介绍"对象".众所周知,Python是一门面向对象的编程语言,Python之所以如此强大,很大一部分原因也是因为Python中无处不对象,由此可知,学好Python的关键 ...

  9. 一文看懂Python(九)-----可变参数函数

    最近在自学Python,Python真是个好东西,两个字,简洁,原来用Java写n行语句才能实现的功能,Python可能几行就搞定了.言归正传,今天要说的是Python中可变参数的函数. 可变参数的功 ...

最新文章

  1. 如何高效快速搞散一个团队?
  2. 为什么 Biopython 的在线 BLAST 这么慢?
  3. linux 中文输入法 xshall,Centos6.7下安装ibus中文输入法
  4. python爬虫从入门到精通-python爬虫从入门到精通
  5. 在domain中验证cron表达式
  6. 不是所有的事情都要达成共识
  7. [C++学习笔记](double*)malloc(n * sizeof(double));
  8. Linux——vim程序编辑器
  9. 为什么中国企业海外营销都选择Facebook?
  10. 显示2位小数 python3_python3+ 和 Python2+的一些区别
  11. angularjs 笔记(1) -- 引导
  12. Permute3 mac最新多种媒体视频格式转换工具
  13. idea查看java类方法_用IntelliJ IDEA看Java类图的方法(图文)
  14. 内定抽奖小程序_Excel制作抽奖小程序,单人、多人抽奖只要三步就可实现
  15. 初学者如何快速入门深度学习?
  16. react路由动画切换
  17. html5制作电子日历,基于HTML5的日历制作软件
  18. 示波器两个重要参数 - 带宽、采样率
  19. linux用户态和内核态堆栈,Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
  20. 单耳蓝牙耳机怎么连接_蓝牙耳机怎么切换单耳

热门文章

  1. java多线程模拟龟兔赛跑
  2. MySQL的常见存储引擎介绍与参数设置调优
  3. 2017年4月11日
  4. GIS讲堂第二课-地图切片简介以及OL中的调用
  5. [CCF] 201612-2 工资计算
  6. iOS开发 贝塞尔曲线UIBezierPath(后记)
  7. 数字图像处理形态学运算
  8. 转载 干货 | 1400篇机器学习的文章中,这10篇是最棒的!
  9. Ubuntu下安装Qt全部过程
  10. CSDN转载别人文章的详细步骤