9 января 2012, 20:31

main() в программах на питоне

Почти все мои скрипты пишутся по этому шаблону:

# coding=utf-8

def main():
    pass # do main stuff
  

# here be functions and classes


if __name__ == '__main__':
    main()

Есть две причины. Во-первых, из-за if __name__ == '__main__': можно использовать скрипт и как самостоятельную программу (__name__ будет содержать '__main__' только когда скрипт запущен сам по себе, см. весьма краткий раздел документации ), и как модуль, при подключении которого определённый код исполнять не нужно. А во-вторых, лучше, когда главная часть программы идёт в начале файла. Благодаря правильно названным классам и функциям сразу становится ясно, что скрипт делает.

Сделать проще:

# coding=utf-8

if __name__ == '__main__':
    pass # do main stuff


# here be functions and classes

не получится по простой причине: в момент исполнения # do main stuff объекты, объявляемые в # functions and classes ещё не определены и интерпретатор не может их использовать.

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter