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.
THN 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 -- http://mail.python.org/mailman/listinfo/python-list