<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">how about a decorator that have the same effect as calling the function is __name__=='__main__'?<div><div><br><div><div>On Jun 18, 2012, at 2:39 PM, Bruce Leban wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_quote">On Mon, Jun 18, 2012 at 11:05 AM, Andrew McNabb <span dir="ltr"><<a href="mailto:amcnabb@mcnabbs.org" target="_blank">amcnabb@mcnabbs.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
</div>I agree that having a boolean called "__main__" wouldn't add much value,<br>
but I believe that recognizing a function called "__main__" could<br>
potentially add a bit more value.<br>
<br>
After executing the body of a script, the interpreter would<br>
automatically call the "__main__" function if it exists, and exit with<br>
its return value.<br></blockquote><div> </div><div class="gmail_quote">The special value of __name__ and the proposed __main__() function are both a bit magic. However, when I write if __name__ == '__main__' it's at least clear that that if statement *will* be executed. It's just a question of when the condition is true and if I don't know I can find out fairly easily. (As I did the first time I saw it and probably other people on this list did too.) On the other hand, it's not at all obvious that a function named __main__ will be executed automagically.</div>

<div class="gmail_quote"><br></div><div class="gmail_quote">This will increase the python learning curve, because people will need to learn both the old method and the new method, especially since code that is compatible with multiple python versions will need to continue to use the old method. It saves one or two lines:</div>

<div class="gmail_quote"><br></div><div class="gmail_quote">    if __name__ == '__main__': main()</div><div class="gmail_quote"><br></div><div class="gmail_quote">A __main__ boolean, that saves even less typing, and does not seem worth adding either.</div>

<br class="Apple-interchange-newline"><div class="gmail_quote">-1 for both</div><div class="gmail_quote"><br></div><font face="arial, helvetica, sans-serif">--- Bruce</font><div><font face="arial, helvetica, sans-serif">Follow me: <a href="http://www.twitter.com/Vroo" target="_blank">http://www.twitter.com/Vroo</a> <a href="http://www.vroospeak.com/" target="_blank">http://www.vroospeak.com</a></font></div>

<br class="Apple-interchange-newline"><div> </div></div>
_______________________________________________<br>Python-ideas mailing list<br><a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>http://mail.python.org/mailman/listinfo/python-ideas<br></blockquote></div><br></div></div></body></html>