[Python-Dev] Assignment expression and coding style: the while True case

Antoine Pitrou solipsis at pitrou.net
Thu Jul 5 07:06:12 EDT 2018


On Thu, 5 Jul 2018 13:58:42 +0300
Ivan Pozdeev via Python-Dev <python-dev at python.org> wrote:

> On 05.07.2018 9:23, Serhiy Storchaka wrote:
> > 05.07.18 01:51, Victor Stinner пише:  
> >> == Pattern 1, straighforward ==
> >>
> >> while True:
> >>      line = input.readline()
> >>      if not line:
> >>          break
> >>      ...
> >>
> >> IMHO here assingment expression is appropriate here. The code remains
> >> straighfoward to read.
> >>
> >> while (line := input.readline()):
> >>      ...  
> >
> > We already have an idiom for this:
> >
> > for line in input:
> >     ...
> >  
> 
> This is not strictly equivalent: it has internal caching unaffected by 
> -u and you can't iterate and .read() at the same time.

You are only talking about Python 2 here.

Regards

Antoine.




More information about the Python-Dev mailing list