这里是断言的四个简单的调用:蟒蛇断言有和没有括号
>>> assert 1==2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert 1==2, "hi"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError: hi
>>> assert(1==2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert(1==2, "hi")
注意,最后一个不会引发错误。调用带有或不带括号的assert引起这种行为有什么区别?我的做法是使用括号,但上述表明我不应该。
谢谢你的有用的答案。关键字和内置函数之间的区别看起来很微妙。下面是一个关键字列表,我认为应该省略parens:http://docs.python.org/reference/lexical_analysis.html#keywords – 2010-06-24 17:31:42
一个区别是您可以重新定义内置函数,但可以“不要用关键字(不是前者是个好主意)。 – 2010-06-24 17:34:28