Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

raise Assertionerror vs. assert python

What are the big differences between raise AssertionError and assert to build in a "fault"? What are the effects on the code? And is one or the other more pythonic in a way?

The reason for my question is because I am learning to program. Right now we have an exercise where for example when x != 0 we need to get an AssertionError "false".

I looked this up online, where I found the following code:

if x != 0:
    raise AssertionError ("false")

But my teachers also use the following a lot:

assert x == 0,"fout"

What are the (dis)advantages of each approach?

Thanks a lot in advance.

like image 500
Jirka Avatar asked Jan 23 '18 18:01

Jirka


1 Answers

Those two code examples are equivalent, with the exception that assert statements can be globally disabled with the -O command-line flag.

like image 78
John Gordon Avatar answered Sep 24 '22 16:09

John Gordon