On 22/10/12 22:45, Matthew Ngaha wrote:
In many of the tutorial examples ive come across, the main code's program
is never at the top level, but always in a function of some sort. i
understand why but, there is always a different way used to access the main
code, i want to know which is the best.


main()
      main's code

#top level
main()


Not that. That unconditionally executes main the first time you access
the module, *regardless* of whether it is being run as a script or
being imported. That is nearly always the wrong thing to do.

It's particularly awful because importing the module for a second time
will not re-run the main program. You have to exit Python, restart it,
and then re-import the module again.



they call the main program by simply calling the main function. I've also
seen a more complcated:

if __name__ == '__main__':
     main()


This one is best. It only runs the main function when the module is being
run as a script.


the 2nd one usually includes a lot more code then i showed.

Yes, that's because when people write proper scripts, they tend to write
code for handling errors, checking the command line arguments, etc. When
people just slap together a lazy "always execute the main function", they
tend to not bother.

Or perhaps that's just how I work :)


--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to