Когда ты пишешь утилиту или CLI‑скрипт, важно не загружать всё сразу. Используй
if __name__ == "__main__" + отложенный импорт, чтобы ускорить запуск и избежать лишней инициализации.🔧 Пример:
# script.py
def main():
import argparse
import time
parser = argparse.ArgumentParser()
parser.add_argument("--sleep", type=int, default=1)
args = parser.parse_args()
print("Start sleeping...")
time.sleep(args.sleep)
print("Done.")
if __name__ == "__main__":
main()
📌 Почему это важно:
• Импорты происходят только при запуске, а не при импорте модуля из другого файла
• Снижается время запуска CLI-инструмента
• Уменьшается нагрузка при unit-тестировании, если
main() не нужен • Позволяет использовать файл как модуль и как скрипт
🛠️ Особенно эффективно при:
• больших CLI-инструментах (`argparse`,
rich, pandas и др.) • работе в средах, где
startup time критичен (например, serverless)🧠 Вывод:
if __name__ == "__main__" + локальные импорты = чище, быстрее, гибче.