Aqui estão quatro invocações simples de assert:
>>> 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")
Observe que o último não gera um erro. Qual é a diferença entre chamar assert com ou sem parênteses que causa esse comportamento? Minha prática é usar parênteses, mas o que foi dito acima sugere que eu não deveria.