Without testing, I am sure it would be slower.
I suppose it would be reasonable if exceptions are raised in multiple places and the exceptions were given meaningful names.
Best wishes
Rob Cliffe

On 01/03/2022 17:22, om wrote:
How does `try/except` (with raise AppropriateException inside the block) compare to a len-1 loop?

Om



---- On Tue, 01 Mar 2022 10:04:31 -0600 *python-ideas@python.org * wrote ----

    I have use cases for "do exactly once".
    Basically a sequence of actions which can be broken off (when
    something goes wrong and the whole process should be aborted, or
    when something succeeds and there is no need to try alternatives)
    at various points with `break`.  Thus avoiding multiple if...then
    indentation levels.
    Of course it can be spelled as
        for _ in '1':
        for _ in ['once']:
    etc. etc., so this is only a cosmetic need.
    Best wishes
    Rob Cliffe

    On 01/03/2022 15:19, Eric Fahlgren wrote:

        As you probably suspect, yes, it comes up every couple of
        years.  Here's one of the recent threads (there are more, just
        search for 'until' in the archives), that might give you some
        ideas for how this discussion will progress. :)

        
https://mail.python.org/archives/list/python-ideas@python.org/thread/EDNARFL2RGOE53SLWPTD5ZLJQOYSVDCR
        
<https://mail.python.org/archives/list/python-ideas@python.org/thread/EDNARFL2RGOE53SLWPTD5ZLJQOYSVDCR>

        On Tue, Mar 1, 2022 at 7:09 AM <lynneandal...@optusnet.com.au
        <mailto:lynneandal...@optusnet.com.au>> wrote:

            Has anyone considered the idea of adding a "do at least
            once" loop to Python? This is frequently referred to as a
            do ... while or repeat ... until.

            At the moment, it's a bit of a hack to achieve this in
            that we do a 'while True: ( do thing ; if cond: ( break )
            )'. Since I don't know how to format these messages, I've
            used '{' for  line-beak-and-indent, ')' for
            line-break-and-dedent, and ';' for
            line-break-keeping-same-indent-level.

            My initial thoughts are that it would be reasonably easy
            to add a 'repeat: ( do thing ) until condition' which
            would far better specify intent of the loop (despite the
            possibility of break, while-true loops give no indication
            that it's not an infinite loop.

            And using repeat...until will ensure whoever had to add
            the code to the Python interpreter wouldn't have any
            clashes with the current while loop.

            Thoughts, anyone? Anyone? Bueller? :-)
            _______________________________________________
            Python-ideas mailing list -- python-ideas@python.org
            <mailto:python-ideas@python.org>
            To unsubscribe send an email to
            python-ideas-le...@python.org
            <mailto:python-ideas-le...@python.org>
            https://mail.python.org/mailman3/lists/python-ideas.python.org/
            <https://mail.python.org/mailman3/lists/python-ideas.python.org/>
            Message archived at
            
https://mail.python.org/archives/list/python-ideas@python.org/message/2PM6QEZJAPE3H72GA6TJJIWNBT3Y3WLN/
            
<https://mail.python.org/archives/list/python-ideas@python.org/message/2PM6QEZJAPE3H72GA6TJJIWNBT3Y3WLN/>
            Code of Conduct: http://python.org/psf/codeofconduct/
            <http://python.org/psf/codeofconduct/>


        _______________________________________________
        Python-ideas mailing list --python-ideas@python.org  
<mailto:python-ideas@python.org>
        To unsubscribe send an email topython-ideas-le...@python.org  
<mailto:python-ideas-le...@python.org>
        https://mail.python.org/mailman3/lists/python-ideas.python.org/  
<https://mail.python.org/mailman3/lists/python-ideas.python.org/>
        Message archived 
athttps://mail.python.org/archives/list/python-ideas@python.org/message/BYNJ6C45M2QW6BA7QILGWTYYCCGETKSV/
  
<https://mail.python.org/archives/list/python-ideas@python.org/message/BYNJ6C45M2QW6BA7QILGWTYYCCGETKSV/>
        Code of Conduct:http://python.org/psf/codeofconduct/  
<http://python.org/psf/codeofconduct/>


    _______________________________________________
    Python-ideas mailing list -- python-ideas@python.org
    To unsubscribe send an email to python-ideas-le...@python.org
    https://mail.python.org/mailman3/lists/python-ideas.python.org/
    Message archived at
    
https://mail.python.org/archives/list/python-ideas@python.org/message/QAGHJPBP72FBTC2GDGYY435JFUX3EJJF/
    Code of Conduct: http://python.org/psf/codeofconduct/


_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/MVZW4LMGB34CC5ZHXC2VWLM5NH2LJAPN/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to