calling functions style question

Thomas Nelson thn at
Tue Jun 6 17:28:44 CEST 2006

The difference becomes clear when you import your program into another
program (or the command line python editor).  __name__!='__main__' when
you import, so the functions will not be called if they're inside the
block.  This is why you see this block so often at the end of scripts;
so that the script runs its main functions when called as a standalone
program, but you can also import the code and do something with it
without setting off those functions.


Brian wrote:
> I just have a basic style question here.  Suppose you have the program:
> def foo1():
>     do something
> def foo2()
>     do something else
> Assume that you want to call these functions at execution.  Is it more
> proper to call them directly like:
> foo1()
> foo2()
> or in an if __name__ == "__main__": ?
> Both will execute when the script is called directly, I was just
> wondering if there is a preference, and what the pros and cons to each
> method were.
> Thanks,
> Brian

More information about the Python-list mailing list