about if __name == '__main__':
tjreedy at udel.edu
Sun Aug 28 23:35:24 CEST 2011
On 8/28/2011 2:56 PM, woooee wrote:
> Two main routines, __main__ and main(),
'__main__' in not a routine, it is the name of the initial module.
> is not the usual or the common
> way to do it. It is confusing and anyone looking at the end of the
> program for statements executed when the program is called will find
> an isolated call to main(), and then have to search the program for
> the statements that should have been at the bottom of the program.
> The only reason to use such a technique in Python is if you want to
> call the function if the program is run from the command line, and
> also call the same function if the program is imported from another.
> In which case, use a name that is descriptive, not "main". And be
> careful of anyone that gives you programming advice. Research these
> things for yourself.
As far as I know, all the Lib/test/test_xxx.py file have a test_main
function, so one can write (in IDLE, for instance)
from test.test_xxx import test_main as f; f()
and run that test. Very handy.
Terry Jan Reedy
More information about the Python-list