calling functions style question
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
Re: calling functions style question
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
Re: calling functions style question
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 If you want those functions to be called each time your module gets imported you have to apply calls out of the if __name__ ... statement. If your module is, for certain reasons, always the __main__ module and never gets imported there is no obvious preference because behaviour will be the same. -- http://mail.python.org/mailman/listinfo/python-list