I love assert
tjreedy at udel.edu
Tue Nov 11 23:34:27 CET 2014
On 11/11/2014 2:40 PM, Peter Cacioppi wrote:
> I get the impression that most Pythonistas aren't as habituated with
> assert statements as I am. Is that just a misimpression on my part?
> If not, is there a good reason to assert less with Python than other
We love 'assert' so much that we have 20-30 'assertXYZ' variations in
unittest. The statement 'assert expression' is almost equivalent to
if not expression: raise AssertionError('expression')
We have perhaps 100 mostly more specialized exceptions builtin and in
the stdlib. There is nearly always a better, more specific exception
and error message.
> As far as I can tell, Python supports assert perfectly well. When run
> with the optimization flagging, the asserts are truly removed.
Separating tests from main code removes test asserts from the main code.
Removal by -0 relegates bare assert to specialized usage.
> I think one needs to take care with some basic assert coding - it's
> not a substitute for unit tests, it doesn't absolve you of normal
> exception responsibilities, and, most of all, it should be used for
> passive inspection and not action. But given these guidelines, I
> still find it very useful as "active comments".
How much usage depends considerably on the programmer.
Terry Jan Reedy
More information about the Python-list