[Python-Dev] PEP 572 and assert
Chris Angelico
rosuav at gmail.com
Tue Jul 17 04:56:36 EDT 2018
More information about the Python-Dev mailing list
Tue Jul 17 04:56:36 EDT 2018
- Previous message (by thread): [Python-Dev] PEP 572 and assert
- Next message (by thread): [Python-Dev] PEP 572 and assert
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Jul 17, 2018 at 6:50 PM, Serhiy Storchaka <storchaka at 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? > Asserts with side effects are already a bad idea. PEP 572 makes no change to this. If you're putting any sort of side effects inside assertions, you're playing with fire. ChrisA
- Previous message (by thread): [Python-Dev] PEP 572 and assert
- Next message (by thread): [Python-Dev] PEP 572 and assert
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list