assert是断言语句
用白话去理解:我断言1等于2 ,如果不等于,就报错
assert 1==2
结果:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/爬虫训练向/requests_run/test.py", line 8, in <module>
assert 1==2
AssertionError
类似于:
if not 1==2:
raise AssertionError()
白话理解:如果1不等于2 ,就报错
大家应该理解断言的作用了
assert的扩展,自定义报错内容:
i = 10
assert 10-i>0,'参数不能大于或等于10'
结果为:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/爬虫训练向/requests_run/test.py", line 15, in <module>
assert 10-i>0,'参数不能大于或等于10'
AssertionError: 参数不能大于或等于10
想必大家知道怎么使用了
最后,注意的是,断言使用的时候,后面的表达式不能有语法错误
例如:
str1 = 'a'
assert int(str1),'字符串不能转化为整型'
结果:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/爬虫训练向/requests_run/test.py", line 13, in <module>
assert int(str1),'字符串不能转化为整型'
ValueError: invalid literal for int() with base 10: 'a'
这个错误就不是自己自定义弹出的bug了,就是个真bug了
好了,分享就先到这了