Вы уже прошли путь от встроенных типов данных до создания более крупных струк-
тур данных и кода. В этой главе вы наконец дойдете до самого главного и научитесь
писать реалистичные и объемные программы на Python.
Отдельные программы
До этого момента вы писали и запускали с помощью интерактивного интерпрета-
тора Python фрагменты кода вроде следующего:
>>> print("This interactive snippet works.")
This interactive snippet works.
Теперь создадим вашу первую отдельную программу. Создайте файл под на-
званием test1.py, содержащий следующую строку кода:
print("This standalone program works!")
Обратите внимание на отсутствие символов >>>, перед вами лишь одна строка
кода. Убедитесь, что перед print нет пробелов.
Если вы работаете с Python с помощью текстовой консоли или окна терминала,
введите имя вашей программы Python, а затем — имя файла:
$ python test1.py
This standalone program works!
Вы можете сохранить все фрагменты кода, которые встречаются в книге, в файлы
и запустить их непосредственно. Если вы копируете их вместо того, чтобы набирать
вручную, убедитесь, что удалили все символы >>> и …, а также завершающий символ
пробела.
Модули и оператор import
143
Аргументы командной строки
Создайте файл test2.py, который содержит две следующие строки:
import sys
print('Program arguments:', sys.argv)
Теперь используйте свою версию Python, чтобы запустить эту программу. Вот так
может выглядеть окно терминала в операционных системах Linux или Mac OS X,
использующее стандартную программу оболочки:
$ python test2.py
Program arguments: ['test2.py']
$ python test2.py tra la la
Program arguments: ['test2.py', 'tra', 'la', 'la']
Модули и оператор import
Мы собираемся перейти на новый уровень — создание и использование кода более
чем из одного файла. Модуль — это всего лишь файл, содержащий код Python.
Текст этой книги организован в иерархию: слова, предложения, абзацы и главы.
В противном случае он стал бы нечитаемым спустя пару страниц. У кода имеется
подобная организация: типы данных похожи на слова, операторы и выражения —
это предложения, функции — это абзацы, а модули — это главы. Продолжу анало-
гию: когда я говорю, что что-то будет более подробно рассмотрено в главе 8, в про-
граммировании это было бы похоже на отсылку к коду другого модуля.
Мы ссылаемся на код других модулей с помощью оператора import. Оно позво-
ляет получить доступ к коду и переменным этого модуля из вашей программы.
Импортируем модуль
Простейший вариант использования оператора import выглядит как import модуль,
где модуль — это имя другого файла Python без расширения .py. Симулируем рабо-
ту метеостанции и выведем на экран отчет о погоде. Основная программа выведет