seeking deeper (language theory) reason behind Python design choice
Ian Kelly
ian.g.kelly at gmail.com
Thu May 10 22:37:36 EDT 2018
On Tue, May 8, 2018 at 11:50 PM, Chris Angelico <rosuav at gmail.com> wrote:
> On Wed, May 9, 2018 at 3:36 PM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
>>
>> while True:
>> if we_are_done():
>> break
>> # do some stuff
>> ...
>> if error_occurred():
>> break
>> notify_user()
>>
>>
>> Fixed, using idiomatic Python and without needing to use assignment in
>> an expression.
>
> Why is it that "while True" is idiomatic Python for a non-infinite
> loop? Is it merely because Python currently has no other way to spell
> certain loops? Surely it would be more idiomatic to encode the loop's
> termination condition in the header, if it were possible.
In the case of the code above you're correct; the condition could be
moved directly into the while. The loop that I adapted first assigned
we_are_done() to flag and then asserted that flag would be checked
again later. I neglected to maintain this part when I rewrote it.
More information about the Python-list
mailing list