Am I stupid or is 'assert' broken in Python 2.5??

Christophe chris.cavalaria at free.fr
Wed Dec 6 09:41:25 EST 2006


antred a écrit :
> I've noticed something odd in Python 2.5, namely that the 2 argument 
> version of 'assert' is broken. Or at least it seems that way to me.
> 
> Run the following code in your Python interpreter:
> 
> myString = None
> 
> assert( myString, 'The string is either empty or set to the None
> type!' ) assert( myString )
> 
> 
> 
> You'll notice that the first assert doesn't do anything, whereas the 
> second assert correctly recognizes that myString does not evaluate to
>  true. That doesn't seem right. Surely Python should have raised an 
> assertion error on the first assert statement, right??

That behaviour has been present in Python for a long time. Just know
that assert is NOT a function, and thus it doesn't require parenthesis (
just the same as print doesn't require them ) Try without them and it'll 
work.



More information about the Python-list mailing list