Довольно утомительно писать, а также выглядит не очень красиво, на мой взгляд:)
Ответ 1
PEP299 предложил решение этой бородавки, а именно специальное имя функции __main__. Он был отклонен, отчасти потому, что:
Гвидо объявил, что ему не нравится идея в любом случае, поскольку она "не стоит изменение (в документах, пользовательских привычках и т.д.) и нет ничего особенно сломанный".
Таким образом, уродство останется, по крайней мере, до тех пор, пока Гвидо БДФЛ.
Ответ 2
В основном каждый программист на языке python делает это. Так просто жить с ним.;)
Кроме того, вы можете полностью опустить его, если ваш script всегда предназначен для запуска в качестве приложения, а не для импорта в качестве модуля, но вам все же рекомендуется использовать его, даже если это действительно не нужно.
Ответ 3
После того, как я задал этот вопрос, я решил сделать для него решение:
from automain import * # will only import the automain decorator
@automain
def mymain():
print 'this is our main function'