Читать «Программирование на Python. Том 1» онлайн - страница 667
Марк Лутц
42
Не я автор данной картинки - она появилась в качестве баннера на сайтах для разработчиков, таких как
43
Использована цитата из фильма Стенли Кубрика «Сияние». -
44
О технике анимации рассказывается в конце данного обзора. Поскольку в область отрисовки холста можно встраивать другие виджеты, собственная координатная система делает холсты идеальными инструментами для реализации графических интерфейсов, дающих пользователям возможность создания других графических интерфейсов путем перетаскивания встроенных виджетов по холсту - весьма полезное применение холста, которое мы изучили бы в этой книге, будь у меня несколько сотен лишних страниц.
45
Я решил обратить ваше внимание на это, поскольку считаю, что понимание опасности позволит в будущем избежать ее - если процесс Python обладает правом удаления файлов, передача функции eval строки с программным
кодом__import__(‘ os’ ). system(‘ rm -rf *’ ) в Unix приведет к вызову команды
оболочки, которая удалит все файлы в текущем каталоге и во вложенных в него подкаталогах (в Windows аналогичный эффект можно получить с помощью команды ‘ rmdir /S /Q . ’). Не делайте этого! Чтобы увидеть менее опасное и более полезное применение этой особенности, введите выражение__import__(‘ math’ ). pi в одну из ячеек таблицы - щелчок на кнопке Sum
вычислит значение pi (3.14159). Также безопасно будет передать функции
eval выражение “__import__(‘os’ ). system( ‘ di r’)” в интерактивном сеансе. Все
вышесказанное относится и к встроенной функции exec - функция eval выполняет строки выражений, функция exec - инструкции, а выражения являются инструкциями (но не наоборот). Разумеется, обычный пользователь графического интерфейса едва ли введет подобный программный код случайно, особенно если этот пользователь вы сами, но будьте внимательны!
46
Игра-симулятор пинг-понга, появившаяся в 1972 году и ставшая прародительницей таких известных игр, как Breakout и Arkanoid. -
47
Самая известная, пожалуй, компания
48
Имеется в виду модель автомобиля «Chevrolet Camaro», пользующаяся славой надежного и неприхотливого автомобиля. -