break in a module
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Fri Jun 17 23:50:28 EDT 2011
More information about the Python-list mailing list
Fri Jun 17 23:50:28 EDT 2011
- Previous message (by thread): break in a module
- Next message (by thread): break in a module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, 18 Jun 2011 12:36:42 +1000, Cameron Simpson wrote: > On 17Jun2011 06:00, Steven D'Aprano > <steve+comp.lang.python at pearwood.info> wrote: | If we were to have a > "exit this module early, but without exiting Python | altogether" > statement, I'd consider "exit" to be the most descriptive | name, > although it would clash with existing uses of the word, e.g. | > sys.exit(). Overloading "break" strikes me as disagreeable, but not as | > disagreeable as overloading "return" or "in" :) > > Just to throw another approach into the mix (because I was thinking > about the "finally" word), what about: > > raise StopImport > > along the lines of generators' "raise StopIteration". > > Then the import machinery can catch it, no new keyword is needed and no > existing keyword needs feature creeping. The only problem is that the importing module needs to catch it, or else you get a traceback. The importer shouldn't need to care what goes in inside the module. Something like this: spam() if condition: exit # halt, stop, whatever ham() cheese() should be the equivalent to: spam() if not condition: ham() cheese() I don't think the use-case for this is convincing enough to need it, but it's an interesting concept. I once played around with a mini-language for config files that included a "STOP" command, so that: key = value STOP everything under here is ignored but I think it was a feature in search of a use. -- Steven
- Previous message (by thread): break in a module
- Next message (by thread): break in a module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list