В сегодняшнем уроке я познакомлю вас с модулями в Питоне на примере одного модуля 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.