成都网站建设设计

将想法与焦点和您一起共享

python中assert如何用来检验参数

这篇文章给大家分享的是有关python中assert如何用来检验参数的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

创新互联为客户提供专业的做网站、成都做网站、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作设计等网站方面业务。

Python的assert语句,可以说是一个debug的好工具,主要用于测试一个条件是否满足。如果测试的条件满足,则什么也不做,相当于执行了 pass 语句;如果测试条件不满足,便会抛出异常 AssertionError,并返回具体的错误信息(optional)。

它的具体语法是下面这样的:

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

此外,一定记住,不要在使用 assert 时加入括号,比如下面这个例子:

assert(1 == 2, 'This should fail')# 输出:1: SyntaxWarning: assertion is always true, perhaps remove parentheses?  assert(1 == 2, 'This should fail')

如果你按照这样来写,无论表达式对与错(比如这里的 1 == 2 显然是错误的),assert 检查永远不会 fail,程序只会给你 SyntaxWarning。

正确的写法,应该是下面这种不带括号的写法:

assert 1 == 2, 'This should fail'# 输出AssertionError: This should fail

总的来说,assert 在程序中的作用,是对代码做一些 internal 的 self-check。使用 assert,就表示你很确定。这个条件一定会发生或者一定不会发生。

Assert是程序员用于保证程序的正确性,不是用于检查使用者输入参数是否合法,换言之,Assert可以简单的理解为程序员的debug工具,正式的代码中应该使用raise来检查用户输入是否正确,如下:

# assert
assert port >= minimum, 'Unexpected port %d when minimum was %d.' % (port, minimum)
# raise
if minimum < 1024:
      raise ValueError('Minimum port must be at least 1024, not %d.' % (minimum,))

感谢各位的阅读!关于python中assert如何用来检验参数就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!


文章名称:python中assert如何用来检验参数
标题来源:http://chengdu.cdxwcx.cn/article/gphdjp.html