我是靠谱客的博主 悦耳仙人掌,最近开发中收集的这篇文章主要介绍Python3——assert断言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        在完成爬取某一个网站数据的时候,可能会出现这么一种情况。当本机访问该网站次数到达一定数量的时候,就无权访问。该页面会出现一句话提示你无权访问。

        遇到这种情况就比较头疼了,vps爬取数据到最后报错,你可能在怀疑是不是自己的解析程序写错了,这时候我们就需要加一个断言。

        一开始我也不知道断言,准备加一个if判断。但是指导老师让我用assert断言后,我才了解到assert,那么什么是assert断言呢?

        语法如下:assert expression

         其实在理解语法层面,assert和if是差不多的。expression如果为True,也不干啥。

        但是assert只在debug模式下有效。release状态下无效。而if在两种模式下均有效。那么一个问题又来了,什么是debug模式和release模式呢?通俗来讲,就是一个调试模式,一个是正式运行的模式。那么从这个理解上其实也可以推断出,assert相对来说是定位错误的,if更多的是一种条件判断,执行语句。

        在if的时候,我们程序员会自己先想到会出现的某种可能性,这些可能性都是合法存在的。而在assert的时候,有些情况一旦出现,程序后面的就没有任何意义。譬如笔者在爬虫解析的时候,如果访问的页面是我无权访问,那我后面解析的代码又有什么意义呢?

for i in range(10):
    assert i != 9
    print(i)

Traceback (most recent call last):
  File "d:1.py", line 5, in <module>
    assert i != 9
AssertionError 

 i=8的时候,assert就报错了,程序到此为止。

for i in range(10):
    if i == 8:
        raise AssertionError
    print(i)

当然了,也可以这么写。assert(expression),[expression2]等价于if(not expression): raise AssertionError(expression2)

for i in range(10):
    if i == 8:
        raise AssertionError('程序不高兴了')
    print(i)

Traceback (most recent call last):
  File "d:1.py", line 6, in <module>
    raise AssertionError('程序不高兴了')
AssertionError: 程序不高兴了 

最后

以上就是悦耳仙人掌为你收集整理的Python3——assert断言的全部内容,希望文章能够帮你解决Python3——assert断言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部