В сегодняшнем уроке я познакомлю вас с модулями в Питоне на примере одного модуля sys.

Модуль – это стандартная программа, которая была ранее написана кем-то и выложена для всеобщего использования. Сборник модулей называется библиотекой.

Из модулей можно импортировать те или иные части. Этим и пользуются миллионы программистов во всем мире.

Кстати, в предыдущем уроке 16 мы импортировали кодеки из модуля sys.

 

Практический пример

Давайте составим программный код со спортивными командами по хоккею. 

Создаем на рабочем столе файл test13.py Сохраняем в кодировке UTF. Пишем в него руками следующий программный код:

 
# -*- coding: utf- 8 -*-

from sys import argv
script, komanda1, komanda2, komanda3 = argv

print u"Открываем командную таблицу: ", script
print u"Первая команда: ", komanda1
print u"Вторая команда: ", komanda2
print u"Третья команда: ", komanda3

В первой строке мы импортируем аргументы из модуля sys при помощи команды: from sys import argv

Во второй строке мы распаковываем эти аргументы и присваиваем их переменным script, komanda1, komanda2, komanda3. При этом переменная script – стандартная. Она отображает название файла (в нашем случае - test13.py). А остальные переменные могут быть с любыми названиями.

Теперь открываем программу PowerShell и прописываем спортивные команды по хоккею: python desktop/test13.py spartak dinamo sibir

Внимание: название файла desktop/test13.py - это и есть переменная script, то есть название скрипта - это переменная script.

У вас должно получиться следующее:

 

Но если мы следом введем новые названия команд, то результат также будет с новыми названиями - python desktop/test13.py avangard akbars barys

У вас должно получиться следующее:

 

 

Таким образом, в программе PowerShell мы можем вводить по три различные команды, или же вообще по три разных слова, и эти слова будут отображаться в каждой строке по порядку. При этом мы каждый раз не вносим изменения в код программы. Это программа делает сама.

 

А теперь попробуем ввести две команды:
python desktop/test13.py admiral kunlun

У вас должно получиться следующее:


То есть программа нам говорит, что мы ошиблись. Должно быть больше, чем 3 значения для распаковки модуля (в данном случае мы ввели три переменных - test13.py admiral kunlun ). А надо по программе - 4. 

А если мы введем пять значений - первое значение это название скрипта и 4 значения - это команды: python desktop/test13.py admiral kunlun spartak avangard

У вас должно получиться следующее:

 

Опять ошибка. Питон нам сообщает, что в этот раз очень много данных для распаковки. Опять возвращаемся к коду программы и видим, что в коде мы прописали только четыре переменных: script, komanda1, komanda2, komanda3. Поэтому сразу после названия файла  в программе PowerShell  мы можем вводить только три слова.

 

Домашнее задание

Попрактикуйтесь в написании программы с использованием модуля sys. А именно – вводите другие названия переменных в код программы, вводите разное количество переменных, например, frukt1, frukt2, frukt3, frukt4. А потом в PowerShell вписывайте названия фруктов или овощей и посмотрите на результат выполнения программы.

Это очень важное упражнение. Поэтому выполните его несколько раз. А в конце пропишите комментарии перед каждой строкой кода программы - это нужно для лучшего понимания работы кода. Более подробно про комментарии - читать в уроке 7.

А в следующем уроке мы создадим опять интерактивную программу, но уже с использованием модуля sys  - перейти в урок 18.