[Python-Dev] PEP 572 and assert (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Tue Jul 17 04:50:55 EDT 2018


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?



More information about the Python-Dev mailing list