关于小悟志网站地图归档友情链接联系Feed

云上小悟 + 

首页 » InfoTech »

Python中的assert语句

InfoTech
2016年12月8日 / 101次阅读
标签:麦新杰用Python

文章《Python中的assert语句》的特色图片

Python的assert,是个语句,不是一个函数,所谓assert statement。

>>>
>>>assert 1==1 and 2==2
>>>
>>>assert 1==1 and 2==3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError
>>>

如果assert后面的语句是False,就会有一个AssertionError异常被抛出。

 

Python教材中有这样一句话:

In the current implementation, the built-in variable __debug__ is True under normal circumstances, False when optimization is requested (command line option -O). The current code generator emits no code for an assert statement when optimization is requested at compile time.

assert语句只在debug模式下有效,使用-O参数优化之后,assert就等同于不存在了。(-OO参数,连__doc__都消失)。可以用这个方式:

C:\Users\Administrator>python -O
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> assert 1==1
>>>
>>> assert 1==2
>>>
>>>__debug__
False
>>>

 

关于-O和-OO优化参数,请见下图示例:

python的-O和-OO优化参数

python的-O和-OO优化参数

 

使用assert涉及到编程思想,有人说使用assert是一种防御方式的编程,可以当成比注释更好的手段。

本文链接:http://www.maixj.net/ict/python-assert-13761
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1

网站二维码
拍拍贷
go to top