Подтвердить что ты не робот

Ярлык для if __name__ == '__main__':

Есть ли более короткая форма этого?

if __name__ == '__main__':

Довольно утомительно писать, а также выглядит не очень красиво, на мой взгляд:)

4b9b3361

Ответ 1

PEP299 предложил решение этой бородавки, а именно специальное имя функции __main__. Он был отклонен, отчасти потому, что:

Гвидо объявил, что ему не нравится идея в любом случае, поскольку она "не стоит изменение (в документах, пользовательских привычках и т.д.) и нет ничего особенно сломанный".

http://www.python.org/dev/peps/pep-0299/

Таким образом, уродство останется, по крайней мере, до тех пор, пока Гвидо БДФЛ.

Ответ 2

В основном каждый программист на языке python делает это. Так просто жить с ним.;)

Кроме того, вы можете полностью опустить его, если ваш script всегда предназначен для запуска в качестве приложения, а не для импорта в качестве модуля, но вам все же рекомендуется использовать его, даже если это действительно не нужно.

Ответ 3

После того, как я задал этот вопрос, я решил сделать для него решение:

from automain import *  # will only import the automain decorator

@automain
def mymain():
    print 'this is our main function'

Сообщение в блоге объясняет это, а код находится в github и может быть легко установлен:

easy_install automain

Ответ 4

Это определенно бородавка на языке, как и все, что становится шаблоном, и копируется и вставляется из файла в файл. Там нет сокращений.

Как и бородавки и пластырь, хотя, по крайней мере, это незначительный.

Ответ 5

Вы имеете в виду более короткое, чем if'__main__'==__name__:?

Ответ 6

Нет, извините, нет. Это не выглядит великолепно, но это то, что у нас есть.

Ответ 7

Короче, если вы подсчитываете строки:

__name__ == '__main__' and main()