Когда интерпретатор Python читает файл Python, он сначала устанавливает несколько специальных переменных. Затем он выполняет код из файла.
Файлы Python называются модулями. Модуль может определять функции, классы и переменные.
Поэтому, когда интерпретатор запускает модуль, переменная __name__ будет установлена как __main__, если запускаемый модуль является основной программой.
Но если код импортирует модуль из другого модуля, то для переменной __name__ будет установлено имя этого модуля.
Например
Основной файл -> main.py
файл #main.py
print(main __name__ имеет значение: {} .format(__name__))
Когда вы запустите файл, вы увидите именно то, о чем мы только что говорили.
для основного __name__ установлено значение: __main__
Теперь возьмите другой файл source.py со следующим кодом:
# Модуль Python для импорта
# source.py
print(источник __name__ имеет значение: {} .format(__name__))
Измените код в main.py следующим образом, чтобы мы импортировали исходный модуль:
# Модуль Python для выполнения
#main.py
источник импорта
print(main __name__ имеет значение: {} .format(__name__))
Запуск нашего кода file_one еще раз покажет, что переменная __name__ в файле main не изменилась и по-прежнему имеет значение __main__. Но теперь переменная __name__ в источнике устанавливается как имя его модуля, следовательно, источник.
для источника __name__ задано значение: source
для основного __name__ установлено значение: __main__
Но запустите file_two напрямую, и вы увидите, что его имя установлено на __main__:
источник __name__ имеет значение: __main__
Вывод:
Обычный способ использования __name__ и __main__ выглядит так:
if __name__ == __main__:
#Ваш код будет здесь