Usage of main()

Mel mwilson at the-wire.com
Fri Sep 4 07:37:58 EDT 2009


Manuel Graune wrote:
[ ... ]
> thanks for your answer. What you are explaining is exactly why I tried
> it in the first place. I'm just wondering why (this is my impression,
> not necessaryly the reallity) none of the recommended texts on python
> put this in the first chapters. Instead - if it is mentioned at all -
> it is hidden somewhere in the "advanced" sections. Even if the reason
> for this is (I'm guessing...) because it is thought to be to complicated
> to explain the "why" right at the beginning, it probably would not hurt
> to just tell that this is the "correct" way of doing things right at the
> start and add a footnote.

Maybe it's the "correct" way, but it isn't *the* correct way. In my 
experience, when I import a program, it isn't because I want to run it 
straight through. For that there's `exec`, and subprocess and what not. 
More likely I want to get at the internals -- maybe produce my own output 
from the intermediate results, for example. For that, a monolithic `main` 
function is beside the point.
For a sizeable program you can get the same speed advantage, to within five 
9s or so, with a structure like
## ...
if __name__ == '__main__':
 process_this_input()
 process_that_input()
 mess_with_the_collected_data()
 write_the_output()
	Mel.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /