[Python-Dev] PEP 548: More Flexible Loop Control
R. David Murray
rdmurray at bitdance.com
Wed Sep 6 12:34:00 EDT 2017
On Wed, 06 Sep 2017 15:05:51 +1000, Chris Angelico <rosuav at gmail.com> wrote:
> On Wed, Sep 6, 2017 at 10:11 AM, R. David Murray <rdmurray at bitdance.com> wrote:
> > I've written a PEP proposing a small enhancement to the Python loop
> > control statements. Short version: here's what feels to me like a
> > Pythonic way to spell "repeat until":
> >
> > while:
> > <do stuff>
> > break if <done condition>
> >
> > The PEP goes into some detail on why this feels like a readability
> > improvement in the more general case, with examples taken from
> > the standard library:
> >
> > https://www.python.org/dev/peps/pep-0548/
>
> Is "break if" legal in loops that have their own conditions as well,
> or only in a bare "while:" loop? For instance, is this valid?
>
> while not found_the_thing_we_want:
> data = sock.read()
> break if not data
> process(data)
Yes.
> Or this, which uses the condition purely as a descriptor:
>
> while "moar socket data":
> data = sock.read()
> break if not data
> process(data)
Yes.
> Also - shouldn't this be being discussed first on python-ideas?
Yep, you are absolutely right. Someone has told me I also missed
a related discussion on python-ideas in my searching for prior
discussions. (I haven't looked for it yet...)
I'll blame jet lag :)
--David
More information about the Python-Dev
mailing list