Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #4588
| From | Ben Finney <ben+python@benfinney.id.au> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: vertical ordering of functions |
| References | <mailman.1127.1304460530.9059.python-list@python.org> |
| Date | 2011-05-04 09:58 +1000 |
| Message-ID | <87sjsvfia2.fsf@benfinney.id.au> (permalink) |
| Organization | Unlimited download news at news.astraweb.com |
Jabba Laci <jabba.laci@gmail.com> writes: > Is there a convention for this? Should main() be at the top and called > function below? No, it's Python convention for both of those to be at the end of the module. I follow the convention described by Guido van Rossum in <URL:http://www.artima.com/weblogs/viewpost.jsp?thread=4829>. Essentially, the mainline code is all in a top-level function, which accepts command-line arguments in its ‘argv’ parameter, catches any ‘SystemExit’ exception, and returns the exit code for the program. The ‘if __name__ == "__main__"’ section does nothing but call that function, passing the ‘sys.argv’ value, then exit with the return value. This makes the whole behaviour of the program available for calling as a function, while the program works as expected when invoked as a program. Commonly I will name the function ‘__main__’, but this is an artefact of my previously-held vain hope that this idiom would become special to Python and called automatically without the ‘if __name__ …’ hack. Guido, and most others I've seen use this idiom, simply name the function ‘main’. -- \ “An idea isn't responsible for the people who believe in it.” | `\ —Donald Robert Perry Marquis | _o__) | Ben Finney
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
vertical ordering of functions Jabba Laci <jabba.laci@gmail.com> - 2011-05-03 18:08 -0400
Re: vertical ordering of functions Ben Finney <ben+python@benfinney.id.au> - 2011-05-04 09:58 +1000
Re: vertical ordering of functions John Bokma <john@castleamber.com> - 2011-05-03 19:44 -0500
Re: vertical ordering of functions Roy Smith <roy@panix.com> - 2011-05-03 20:27 -0400
Re: vertical ordering of functions Grant Edwards <invalid@invalid.invalid> - 2011-05-04 01:09 +0000
Re: vertical ordering of functions John Roth <johnroth1@gmail.com> - 2011-05-04 04:14 -0700
Re: vertical ordering of functions Hans Georg Schaathun <hg@schaathun.net> - 2011-05-10 19:31 +0100
csiph-web