码迷,mamicode.com
首页 > 编程语言 > 详细

Python assert statement

时间:2019-11-24 19:34:23      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:org   竖线   解析   符号   sim   blog   round   deb   完整   

Python assert statement

关于assert想找到文档中的例子:但是搜索python文档没找到。

看到这篇文章:对初学者很有帮助:https://www.programiz.com/python-programming/assert-statement

语法:

assert <condition>
assert <condition>,<error message>

条件为真,则什么也不发生。条件为假,则抛出AssertionError,如果给了<error message>则错误提示中显示它。

 

后来找到文档https://docs.python.org/3.9/reference/simple_stmts.html#grammar-token-assert-stmt

 

assert_stmt ::=  "assert" expression ["," expression]

对初学者不很友好,下面是解释:

 

??语法定义符号解析

::=

定义操作符,用在生成规则中。分隔规则定义的元素和规则定义。 被定义的元素位于操作符的左边,规则定义位于操作符的右边。

[]

方括号表示规则中的可选元素。方括号中的规则部分可以明确指定也可以省略。

|

| 替换操作符。 该竖线表明竖线之后的规则部分对于竖线之前的部分是可替换的。 如果竖线出现的位置不在花括号或方括号内,那么它指定对于该规则定义的元素的一个完整替换项。如果竖线出现的位置在花括号或方括号内,那么它指定花括号对或方括号对最里面内容的替换项。

 

assert <condition> #相当于??

if __debug__:
    if not expression: raise AssertionError   #__debug__一般为True

 带提示的

assert <condition>,<error message> #相当于
assert expression1[, expression2]

if __debug__:
    if not expression1: raise AssertionError(expression2)

 

Python assert statement

标签:org   竖线   解析   符号   sim   blog   round   deb   完整   

原文地址:https://www.cnblogs.com/chentianwei/p/11923551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!