Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Модули Основы Python

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

В Python любой файл с кодом называется модулем — между этими терминами нет разницы. Чтобы всем Python-разработчикам было удобно читать готовый код, принято называть файлы в стиле snake_case: то есть с маленькой буквы и с разделением слов через символ подчеркивания. Это легко запомнить: snake_case переводится как «змеиный регистр» и поэтому идеально сочетается с языком Python.

Как использовать модули

Работать с кодом на тысячи строк намного проще, если он разбит на несколько модулей. В таком случае обычно работают с главным файлом, а отдельные функции помещают в разные модули. Затем модули импортируют в main.py с помощью ключевого слова import. В итоге команда разработчиков получает удобный читабельный код, который удобно обслуживать.

Чтобы попрактиковаться, попробуем создать свой модуль. Для этого мы создадим файл с названием greeting.py. Затем внутри этого файла определим функцию say_hi() и переменную name:

# file: greeting.py
def say_hi(): # определяем функцию
    print('Hi!')

name = 'Bob' # определяем переменнную

Модуль-приветствие готов: он умеет печатать строку Hi! и обрабатывать переменную name. Но в нем нет никакой пользы, пока он не встроен в работу всей остальной программы. Чтобы воспользоваться нашим модулем, нужно импортировать его в главный модуль main.py.

Для этого в Python есть три способа:

  1. Импорт модуля целиком
  2. Импорт отдельных определений из модуля
  3. Импорт всего содержимого модуля сразу

Здесь мы рассмотрим только первый и второй способ, а третий обсудим подробно уже в следующем уроке.

Импорт модуля целиком

Это самый простой способ: используем ключевое слово import вместе с названием файла без расширения .py. Перейдем в главный файл main.py и импортируем туда наш модуль greeting.py:

# file: main.py
import greeting

Импорт прошел успешно — у нас появился доступ к модулю-приветствию прямо из главного файла. Теперь к содержимому модуля можно обращаться «через точку». Так можно вызвать функцию модуля или отдельную переменную:

# вызываем функцию модуля
greeting.say_hi()  # => Hi!

# выводим на экран отдельную переменную
print(greeting.name)  # => Bob

Это самый распространенный способ, потому что такой код легко читать. Любой разработчик с первого взгляда может определить, что используемая переменная или вызываемая функция — это часть какого-то конкретного модуля.

Импорт отдельных определений

Иногда первый способ не подходит — например, из длинного и сложного модуля вам нужна всего пара функций или переменных. Тогда поможет второй способ импорта: нужно написать ключевое слово from с названием модуля без расширения .py. Затем в той же строке указываем ключевое слово import с названием определений, которые хотим использовать. Так это выглядит в коде:

# file: main.py
from greeting import say_hi, name # импортируем отдельные компоненты модуля

print(name)  # используем импортированную переменную
say_hi()     # вызываем импортированную функцию

В следующем уроке мы немного углубим наши познания в этой теме и рассмотрим третий вариант импорта модуля.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
2 февраля 10 месяцев
Иконка программы Аналитик данных
Профессия
В разработке с нуля
Сбор, анализ и интерпретация данных
16 марта 8 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»