Простой Python. Современный стиль программирования (Любанович) - страница 75

9. Определите функцию генератора get_odds, которая возвращает четные числа из диапазона range(10). Используйте цикл for, чтобы найти и вывести третье возвращенное значение.

10. Определите декоратор test, который выводит строку 'start', когда вызывается функция, и строку 'end', когда функция завершает свою работу.

11. Определите исключение, которое называется OopsException. Сгенерируйте его, чтобы увидеть, что произойдет. Затем напишите код, позволяющий поймать это исключение и вывести строку 'Caught an oops'.

12. Используйте функцию zip(), чтобы создать словарь movies, который объединяет в пары эти списки: titles = ['Creature of Habit', 'Crewel Fate'] и plots = ['A nun turns into a monster', 'A haunted yarn shop'].

Глава 5. Py Boxes: модули, пакеты и программы

Вы уже прошли путь от встроенных типов данных до создания более крупных структур данных и кода. В этой главе вы наконец дойдете до самого главного и научитесь писать реалистичные и объемные программы на 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!


Вы можете сохранить все фрагменты кода, которые встречаются в книге, в файлы и запустить их непосредственно. Если вы копируете их вместо того, чтобы набирать вручную, убедитесь, что удалили все символы >>> и …, а также завершающий символ пробела.

Аргументы командной строки

Создайте файл 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.