Что означает этот код Python? - PullRequest
1 голос
/ 18 октября 2010
__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"

if __name__ == "__main__":
    print("Hello")
    print(__author__)

Откуда оно берется __main__ и __name__?

Спасибо за помощь

Ответы [ 2 ]

9 голосов
/ 18 октября 2010

Переменная __name__ становится доступной во время выполнения.Это имя текущего модуля, имя, под которым он был импортирован."__main__" это строка.Это не особенное, это просто строка.Это также бывает именем основного скрипта, когда он выполняется.

Механизм if __name__ == "__main__": является распространенным способом выполнения каких-либо действий при непосредственном выполнении файла .py, но не при его импорте в виде модуля.

2 голосов
/ 18 октября 2010

Модули Python также можно запускать как отдельные скрипты. Таким образом, код в блоке if __name__ == "__main__": будет выполняться только в том случае, если модуль выполняется как «основной» файл.

Пример

#foo.py
def msg():
    print("bar")

if __name__ == "__main__":
    msg()

Запуск этого модуля выдаст

$ python foo.py
bar

где при импорте ничего не выдается.

>>> import foo
>>> foo.msg()
bar

Ссылка

...