Код БарсикОсновы Python
Основы Python›C22 · Теория

Теория · C22

Модули и окружение проекта

Разберись в теме, запусти пример и переходи к самостоятельным задачам.

РАЗБИРАЕМ ПО ШАГАМ

От идеи к работающему коду

Когда проект растёт, код разделяют по файлам. Разберём собственные модули, точку входа, окружение и инструкцию запуска. Этот урок выполняем в редакторе и терминале компьютера.

Сразу к запуску примера ↓
Барсик соединяет файлы проекта в одну работающую программу.
Барсик соединяет файлы проекта в одну работающую программу.
  1. 1Модули и данные
  2. 2Точка входа
  3. 3Окружение и запуск

1. Модуль — Python-файл

Файл helpers.py становится модулем helpers. Его функции можно импортировать из другого файла в той же папке. Не называй свои файлы random.py или json.py: они могут перекрыть стандартную библиотеку.

Создай helpers.py с кодом ниже. В main.py напиши from helpers import greet и print(greet("Анна")). Оба файла должны быть сохранены. Встроенный одностраничный редактор сайта не создаёт многомодульный локальный проект.

Python
def greet(name):    return f"Привет, {name}!"

2. Точка входа и повторное использование

Код верхнего уровня модуля выполняется при первом импорте. Чтобы импорт вычислительной функции не запускал диалог, выделяем main и проверяем __name__.

Когда файл запускают напрямую, __name__ равен "__main__". При импорте он получает имя модуля, поэтому диалог внутри защищённого блока не запускается. Следующий фрагмент — содержимое main.py рядом с helpers.py.

Python
from helpers import greetdef main():    name = input("Имя: ")    print(greet(name))if __name__ == "__main__":    main()

3. Стандартная библиотека и venv

json, random, pathlib и argparse входят в стандартную библиотеку Python. Их не нужно устанавливать через pip. Внешние зависимости проекта изолируем в виртуальном окружении .venv.

В терминале macOS создай его командой python3 -m venv .venv, активируй source .venv/bin/activate. В Windows: py -m venv .venv, затем .venv\Scripts\activate.bat в cmd. После активации python -m pip --version показывает pip выбранного окружения. Пакеты устанавливай только если они нужны проекту. Папку .venv исключи из Git через .gitignore.

4. Аргументы запуска и README

argparse разбирает параметры командной строки. Это другой источник данных, чем input: значения передаются при запуске. Сохрани пример в cli.py и запусти в терминале python cli.py --name Анна.

В README перечисли версию Python, файлы, создание окружения при необходимости и точную команду запуска. Проверь инструкцию из новой папки: отсутствие скрытых ручных действий делает проект воспроизводимым.

Python
import argparsedef main():    parser = argparse.ArgumentParser()    parser.add_argument("--name", default="Барсик")    args = parser.parse_args()    print(f"Привет, {args.name}!")if __name__ == "__main__":    main()

Где легко ошибиться

  • Назвать свой модуль как стандартный и сломать импорт.
  • Запускать input во время импорта вспомогательного модуля.
  • Добавить .venv в репозиторий или забыть команду запуска.
Проверь понимание: Зачем нужен if __name__ == "__main__"?

Он запускает main только при прямом запуске файла, позволяя импортировать функции без запуска диалога.

Используем модуль стандартной библиотеки

Запусти пример. Затем измени код или входные данные и проверь, как меняется вывод.

Пример входных данных

Ввод не нужен

Ожидаемый вывод

9
5
main.pyPython · можно менять код

Подготавливаем редактор…

Загрузка Python…

Каждый ответ — с новой строки.

Твой вывод

Здесь появится результат запуска.

Дальше — самостоятельные задачи

  1. Подключить функцию из другого файла
  2. Вызвать функцию факта о котах N раз на локальных данных
  3. Передать параметры Соловьёв через argparse