Python if main
В языке Python, конструкция "if __name__ == '__main__':" используется для определения, является ли модуль запускаемым файлом, или импортированным модулем.
Когда модуль импортируется в другой модуль, интерпретатор Python устанавливает значение специальной встроенной переменной "__name__" для текущего модуля. Если модуль является запускаемым файлом, то значение "__name__" будет "__main__", и в этом случае будет выполняться код, написанный внутри блока "if __name__ == '__main__':".
Для более конкретного понимания, рассмотрим пример:
# Модуль: module.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
if __name__ == '__main__':
result = add(5, 3)
print(result)
В этом примере, если файл "module.py" запускается напрямую (как главная программа), то код внутри блока "if __name__ == '__main__':" будет выполняться. Вызывается функция "add" с аргументами 5 и 3, и результат (8) будет выводится на экран.
# Модуль: main.py
from module import add, subtract
result = add(5, 3)
print(result)
result = subtract(5, 3)
print(result)
Если файл "module.py" импортируется в другом модуле, как в примере выше, то код внутри блока "if __name__ == '__main__':" не будет выполняться и функции "add" и "subtract" будут доступны для использования во внешнем модуле.
Короче говоря, использование конструкции "if __name__ == '__main__':" позволяет разделить код, который будет выполняться при запуске файла, и код, который будет использоваться исключительно в качестве модуля и импортироваться другими модулями.