osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Python-Dev] PEP 572 and assert


Recently Barry shown an example:

     assert len(subdirs := list(path.iterdir())) == 0, subdirs

It looks awful to me. It looks even worse than using asserts for 
validating the user input. The assert has a side effect, and it depends 
on the interpreter option (-O). Even if subdirs is not used outside of 
the assert *now*, it is easy to introduce an error later, and it is hard 
to notice it if tests are not ran with the -O option regularly.

Does PEP 572 encourages writing such code, discourages this, or 
completely forbids?