🐍 Python-совет: ускоряй импорт и запуск с помощью `__main__` guard и lazy imports
Когда ты пишешь утилиту или 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__"
+ локальные импорты = чище, быстрее, гибче.
>>Click here to continue<<