main()

1. Что такое main()

  • В Python нет встроенной функции main, как в C/C++ или Java.

  • Но по соглашению разработчики создают функцию main(), которая выполняет основную логику скрипта.

  • Это помогает структурировать код и делать скрипт импортируемым как модуль, без автоматического запуска всего кода.


2. Стандартная конструкция

def main():
    print("Hello, World!")
    # основная логика программы

if __name__ == "__main__":
    main()

Объяснение

  • __name__ — встроенная переменная Python:

    • Если файл запускается как главный скрипт, __name__ == "__main__"

    • Если файл импортируется как модуль, __name__ будет равно имени файла

  • Таким образом, код внутри if __name__ == "__main__": выполняется только при прямом запуске.


3. Пример с функциями

def add(a, b):
    return a + b

def main():
    result = add(5, 3)
    print(f"Result: {result}")

if __name__ == "__main__":
    main()

Вывод при запуске скрипта:

Result: 8

Если модуль импортировать в другой файл, main() не будет вызван автоматически.


4. Применение в автотестах

  • Организация скриптов для запуска тестов вручную.

  • Структурирование утилит для тестов (логирование, генерация данных).

  • Позволяет повторно использовать функции в других тестах, без запуска всего скрипта.

# test_utils.py
def create_test_user():
    return {"username": "test", "password": "123"}

def main():
    user = create_test_user()
    print(user)

if __name__ == "__main__":
    main()
  • Если импортировать create_test_user в другой модуль, main() не выполнится.


💡 Вывод:

  • main() — это соглашение для центральной точки запуска кода.

  • if __name__ == "__main__" позволяет разделять выполнение при запуске и импортирование.

Last updated

Was this helpful?