Модули и пакеты в Python

Модули в Python, как и в других языка программирования – это файлы, которые содержат код. Программисты применяют модули для повторного использования одного и того же кода в программе.

Давайте узнаем о модулях и пакетах подробнее. Увидим их на примере и научимся с ними работать.

Модули и пакеты в Python, введение

Модули в Python могут содержать и переменные, и функции, и другие элементы кода.

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

Если с модулями пока все понятно, давайте узнаем, что такое пакеты модулей.

Пакеты модулей- это, попросту, папки, в которых хранится несколько модулей.

Представьте себе папку с файлами. Это и есть пакет модулей.

Довольно просто, верно? Давайте теперь научимся импортировать модули в наш код.

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

Для того, чтобы применить модуль, его необходимо импортировать в наш код. И как упоминалось ранее, в Python есть множество встроенных модулей.

Давайте выберем один из таких встроенных модулей – модуль datetime, и импортируем его.

Модуль datetime и функция date

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

И для того, чтобы его импортировать в наш код, нам понадобится команда import и имя самого модуля.

Вот, как это выглядит на примере:

import datetime

Да, и еще кое-что: импортируя модули в Ваш код, всегда прописывайте команду import и название модуля первыми, сразу в начале кода.

Как Вы помните, программа читает код сверху вниз. И если в коде есть модули, она сразу об этом узнает, и импортирует их для корректной работы всего кода.

Вернемся к нашему модулю datetime. У него есть функция date, и она превращает числа в дату. Давайте посмотрим, как это выглядит на примере:

import datetime
birthday = datetime.date(2017, 6, 1)
print(birthday)
Код.py

Запишите этот код в наш компилятор, и запустите его.

Как вы заметили, мы вводили числа через запятую. А на экране они вышли через тире.

Это произошло благодаря тому, что команда date, модуля datetime, преобразовала наши числа в дату. Получилась вот такая дата: первое июня, 2017 года.

А теперь давайте разберем этот код пошагово:

Сначала мы импортировали модуль datetime, прописав команду import и указав имя модуля.

Затем мы спустились на строчку ниже, и прописали (вызвали) модуль datetime, поставили точку, и прописали функцию date.

Затем открыли скобки и передали год, месяц и день в аргумент функции date.

После чего мы сохранили полученную дату в переменную birthday (день рождения).

И, наконец, мы спустились на строчку ниже, и вывели переменную birthday на экран, при помощи функции print.

Модуль datetime и функция datetime.now

Давайте закрепим пройденный пример еще одной функцией модуля.

Эта функция называется datetime.now(). И ее задача сообщать нам, какая сейчас дата и время.

Давайте напишем маленькую программу, которая сообщит нам, какой сейчас год:

import datetime
x = datetime.datetime.now()
print(x.year)
Код.py

Запишите этот код в наш компилятор, и запустите его. Если Вы все сделали правильно, то программа скажет Вам, какой сейчас год.

А теперь снова разберем наш пример:

Сначала мы импортировали модуль datetime, прописав команду import и указав имя модуля.

Затем мы спустились на строчку ниже, и прописали (вызвали) модуль datetime, поставили точку и прописали функцию datetime.now с пустыми двойными скобками (Пустым аргументом).

После этого мы сохранили получившуюся дату (а получилась она благодаря функции datetime.now) в переменную x.

И, наконец, спустившись на строчку ниже, мы прописали функцию print, и передали ей аргументы: нашу переменную x и параметр .year)

Работая вместе, функция datetime.now и параметр .year (год) определили текущий год. А функция принт вывела его на экран.

Здесь хочу сказать, что year – это не единственный параметр, с которым мы можем работать.

Есть еще такие параметры, как: month, day, hour, minute, second, которые определяют соответственно: месяц, день, час, минуту и секунду.

Давайте добавим параметры “месяц” и “день” к нашему коду:

import datetime
x = datetime.datetime.now()
print(x.year,x.month,x.day)
Код.py

Запишите этот код в наш компилятор, и запустите его. Как видите, теперь программа возвращает нам текущий год, месяц и сегодняшнее число.

Если с этим все понятно, вот Вам небольшая самостоятельная работа: добавьте к нашему коду оставшиеся параметры (час, минута и секунда), и запустите код.

Как импортировать функцию модуля в Python

Мы можем импортировать не только модуль, но и конкретную функцию модуля.

Иногда программисты предпочитают делать именно это, импортировать не весь модуль а только конкретную его функцию.

Делают они это для того, чтобы получить больше контроля над функциями модуля в своем коде. А ещё, в случаях, когда импортировать весь модуль необязательно.

Если с этим все понятно, давайте импортируем функцию date модуля datetime:

from datetime import date
birthday = date(2017, 6, 1)
print(birthday)
Код.py

Запишите этот код в компилятор, и запустите его.

Как Вы видите, этот код очень похож на тот, в котором мы импортировали весь модуль datetime. Тут даже вывод программы одинаковый, все та же дата: первое июня, 2017 года.

Но, в этом коде все же есть некоторые отличия. И вот они:

На первой строчке сначала ставится ключевое слово from, затем имя модуля, затем команда import, и в конце пишется имя конкретной функции модуля, которую мы хотим импортировать.

На второй строчке мы больше не вызываем модуль datetime. Вместо этого мы вызываем только его функцию date. На этом отличия заканчиваются, и далее мы передаем в аргумент функции date год, месяц и день.

После чего сохраняем полученную дату в переменную birthday.

Спускаемся на строчку ниже, и выводим переменную birthday с помощью функции print.

Имя функции модуля в Python

Теперь поговорим про имя функции модуля в Python и его вариации.

Дело в том, что когда мы импортируем большое количество функций модуля, одинаковые имена функций могут вызвать путаницу в коде или конфликтовать между собой.

К счастью, чтобы решить эту проблему, мы можем изменить имя функции модуля в Python, когда импортируем ее.

Для этого мы должны использовать ключевое слово as.

Ключевое слово as переводится с английского “как”. Мы, будто сообщаем программе: импортируй эту функцию как “Функция А”, а эту как “Функция Б”

Давайте переименуем функцию модуля при ее импорте:

from datetime import date as d
birthday = d(2017, 6, 1)
print(birthday)
Код.py

Запишите этот код в наш компилятор, и запустите его. Давайте посмотрим, что мы сделали:

Мы взяли наш код из предыдущего задания и просто добавили в него ключевое слово “as” и новое имя “d” после команды import date.

На второй строчке мы заменили date на d. Ничего сложного, верно?

Потренируйтесь. Переименуйте функцию date по своему вкусу, и перезапустите код.

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

Теперь узнаем о том, как создать модуль в Python.

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

Но как и в случае с функциями, которые бывают встроенными и пользовательскими, модули тоже бывают встроенные и пользовательские.

Когда программисту необходимо создать модуль в Python, они просто записывают фрагмент рабочего кода в файл, дают файлу название, и сохраняют его под расширением .py (сокращенно от python).

Затем этот файл сохраняется в той же папке, где хранится файл с основным кодом.

Так создается модуль. Теперь, когда программисту требуется его импортировать в свой код, он просто пишет команду import и указывает название файла, в котором сохранил этот модуль.

Пакет модулей в Python

Как Вы уже знаете, пакет модулей в Python – это папка, где хранится несколько модулей.

Кроме самих модулей в такой папке обязательно должен храниться файл вот с таким названием: init.py

Он нужен для того, чтобы программа поняла, что это пакет модулей. То есть папка, где хранятся модули.

Модули и пакеты в Python, итоги

В двенадцатой части Вы сделали следующее:

  1. Узнали о модулях;
  2. Научились импортировать модули;
  3. Научились импортировать функции модуля;
  4. Узнали о том, как создаются модули;
  5. Научились присваивать имена функциям модулей;
  6. Узнали о том, что такое пакеты с модулями.

Что дальше?

Поздравлю Вас с прохождением стартового курса по Python!

Теперь, когда Вы освоили типы данных, циклы, функции, классы и объекты, Вы можете приступить к более сложным и интересным задачам.

Например научиться писать простые игры и приложения на Python. И начать собирать коллекцию собственных работ!

Скоро здесь появятся примеры несложных игр и программ, которые Вы теперь без труда сможете освоить.

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

Берите эти идеи и добавляйте их в свои проекты, экспериментируйте, практикуйтесь!

И конечно, Вы всегда можете связаться с нами по любым вопросам. Наши контакты здесь.


Вам понравится:

Python Online – онлайн компилятор, с которым вы можете писать, запускать и проверять свой код без установки программ.

Python Online

Начинаем Программировать на Python

Программировать на Python легко! Давайте начнем и сразу напишем нашу первую строчку кода на Python! Любая, даже самая продвинутая программа…

Переменные в Python

Переменные в Python создаются просто. И в этом уроке Вы с легкостью научитесь их создавать и применять в своем коде….