Читать «Программирование на Python. Том 1» онлайн - страница 661

Марк Лутц

3

Я вполне серьезно. На курсах по изучению Python, которые я веду уже довольно давно, я постоянно использовал имя «Bob Smith» (Боб Смит), возраст 40,5 лет и должности «developer» (разработчик) и «manager» (руководитель) для создания фиктивной записи в базе данных, пока на курсах в Чикаго я не встретил студента с именем Боб Смит (Bob Smith), которому было 40,5 лет, и который занимал должности разработчика и руководителя. В жизни иногда случаются курьезы.

4

Они могут проникать и в ваше подсознание. Новички Python иногда описывают такое явление, как «сны на Python» (попробуйте дать упрощенную интерпретацию по Фрейду...).

5

   Д. Бизли «Python. Подробный справочник», СПб.: Символ-Плюс, 2010.

6

   Я написал последний справочник в качестве замены справочному приложению, имевшемуся в первом издании этой книги. Он задуман как дополнение к книге, которую вы читаете, а его последнее издание также может служить переправой для читателей, использующих версию Python 2.X. Как уже говорилось в предисловии, книга, которую вы сейчас держите, является учебником, а не справочником, поэтому вам, вероятно, придется в конечном счете найти какой-нибудь источник справочной информации (однако я настолько самонадеян, что предлагаю выбрать мой справочник).

7

Может случиться, что Python видит переменную окружения PYTHONPATH иначе, чем вы. Синтаксическая ошибка в файлах настройки системной оболочки может испортить значение PYTHONPATH, даже если она кажется вам нормальной. Например, в Windows при наличии пробелов вокруг = в команде DOS set в файле с настройками (например, set NAME = VALUE) в переменную NAME в действительности будет записана пустая строка, а не VALUE!

8

Инструкция на языке Python exec(open(file).read()) тоже выполняет код программного файла, но внутри того же процесса, который ее вызвал. В этом отношении она похожа на операцию импортирования, но по своему действию она больше похожа на операцию вставки содержимого файла в вызывающую программу в том месте, где стоит вызов exec (если явно не передаются словари глобального или локального пространства имен). В отличие от операции импортирования, функция exec читает и выполняет программный код файла без всяких проверок (один и тот же файл можно выполнить несколько раз в одном процессе); при выполнении файла не создается объект модуля; и, если функции явно не передаются словари пространств имен, операции присваивания в программном коде файла могут затирать переменные в области видимости, где находится вызов exec. За дополнительными подробностями обращайтесь к руководству по библиотеке Python.