python断言语句_assert断言处理【Python】

编写程序时,在调试的时候,有的时候需要知道代码执行过程中的值,如对象是否为空,数值是否正确等,这时候一般使用print()打印中间结果,或者使用断点跟踪调试查看变量,但是其实使用assert断言更灵活高效。

断言assert是指期望用户指定的条件满足,它是当用户定义的约束条件不满足时触发AssertionError异常,因此 assert语句可以视为条件式的 raise语句。它的主要功能是帮助程序员调试程序,从而保证程序运行的准确性,一般在开发调试阶段使用。

语句形式:

assert<布尔表达式>

assert,

其中 是一个布尔表达式,是字符串表达式,也就是断言失败时输出的失败消息,如果布尔表达式的值为 False时,就会抛出AssertionError异常。执行效果类似:

if not :

raise AssertionError()

Python解释器有两种运行模式,调试模式和优化模式。一般为调试模式,内置只读变量_debug_为True。使用选项-O运行时,即python.exe -O为优化模式,此时内置只读变量_debug_为 False。

示例:

x=int(input("请输入一个整数作为被除数:"))

y=int(input("请输入一个整数作为除数:"))

assert y!=0,'除数不能为0.'

z=x/y

print(x,'/',y,'=',z)

程序运行结果:

C:\Users\dell>py -3 D:\youyou_program\Python\assert.py

请输入一个整数作为被除数:5

请输入一个整数作为除数:0

Traceback (most recent call last):

File "D:\youyou_program\Python\assert.py", line 3, in

assert y!=0,'除数不能为0.'

AssertionError: 除数不能为0.

启用、禁用断言

一般 Python 运行再调试模式,程序中的断言语句可以帮助程序调试,在正式运行时,加上 -O 选项,以优化模式允许来禁用断言,从而提高程序效率。例如使用上面这个例子实验:

C:\Users\dell>py -3 D:\youyou_program\Python\assert.py

请输入一个整数作为被除数:5

请输入一个整数作为除数:0

Traceback (most recent call last):

File "D:\youyou_program\Python\assert.py", line 3, in

assert y!=0,'除数不能为0.'

AssertionError: 除数不能为0.

C:\Users\dell>py -3 -O D:\youyou_program\Python\assert.py

请输入一个整数作为被除数:5

请输入一个整数作为除数:0

Traceback (most recent call last):

File "D:\youyou_program\Python\assert.py", line 4, in

z=x/y

ZeroDivisionError: division by zero

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值