概述
在完成爬取某一个网站数据的时候,可能会出现这么一种情况。当本机访问该网站次数到达一定数量的时候,就无权访问。该页面会出现一句话提示你无权访问。
遇到这种情况就比较头疼了,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断言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复