Если вы поставили круглые скобки там, потому что вы хотели многострочное утверждение, то альтернативой является поставить обратную косую черту в конце строки, как это:
foo = 7
assert foo == 8, \
"derp should be 8, it is " + str(foo)
Отпечатки:
AssertionError: "derp should be 8, it is 7
Почему этот питон assert
должен отличаться от всего остального:
Я думаю, что питонная идеология заключается в том, что программа должна самокорректироваться, не беспокоясь о специальном флаге для включения утверждений. Соблазн отключить утверждения слишком велик, и поэтому он устарел.
Я разделяю ваше недовольство тем, что python assert
имеет уникальный синтаксис относительно всех других конструкций программирования python, и этот синтаксис снова изменился с python2 на python3 и снова изменился с python 3.4 на 3.6.
Создание утверждений assert не обратно совместимых ни с одной версией, ни с любой другой версией.
Это удар по плечу, что assert
является гражданином 3-го класса, он будет полностью удален в python4 и, конечно, снова в Python 8.1.