On Tue, Jul 17, 2018 at 1:50 AM, Serhiy Storchaka <storch...@gmail.com> wrote:
> 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? > The PEP has no specific opinion except it is not forbidden. Personally I like Barry's example just fine -- assuming `subdirs` is not used later, this feels like a good use case. -- --Guido van Rossum (python.org/~guido)
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com