Главная » Просмотр файлов » Марк Лутц - Изучаем Python, Четвертое издание

Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 20

Файл №1184811 Марк Лутц - Изучаем Python, Четвертое издание (Марк Лутц - Изучаем Python, Четвертое издание) 20 страницаМарк Лутц - Изучаем Python, Четвертое издание (1184811) страница 202020-08-21СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

Чтобы датьвам общее представление об области применения этих инструментов, замечу,что py2exe может создавать автономные программы, использующие библиотеки tkinter, PMW, wxPython и PyGTK для создания графического интерфейса;программы, использующие инструментальные средства создания игр pygame;клиентские программы win32com и многие другие.Фиксированные двоичные файлы – это не то же самое, что получается в результате работы настоящего компилятора, потому что они выполняют байткод с помощью виртуальной машины. Следовательно, программы в фиксированных двоичных файлах исполняются с той же скоростью, что и обычныефайлы с исходными текстами программ, разве что улучшен способ их запуска.Фиксированные двоичные файлы имеют немалый размер (они содержат в себеPVM���������������������������������������������������������������������), но по современным меркам их все же нельзя назвать необычно большими. Так как интерпретатор Python встроен непосредственно в фиксированныедвоичные файлы, его установка не является обязательным требованием длязапуска программ на принимающей стороне.

Более того, поскольку программ-74Глава 2. Как Python запускает программыный код упакован в фиксированный двоичный файл, он надежно скрыт от получателя.Такая схема упаковки программ в единственный файл особенно подходит длянужд разработчиков коммерческого программного обеспечения. Например,программа с графическим интерфейсом на базе tkinter может быть упакованав исполняемый файл и распространяться как самостоятельная программа наCD���������������������������������������������������������������������или через Интернет. Конечному пользователю не нужно будет устанавливать �����������������������������������������������������������������������Python�����������������������������������������������������������������(и даже знать о том, что это такое), чтобы запустить распространяемую программу.Другие способы выполненияСуществуют также другие схемы выполнения программ на языке Python, преследующие узкоспециализированные цели:•• Система Stackless Python – это разновидность стандартной реализацииCPython����������������������������������������������������������������, которая не использует стек вызовов языка C�����������������������������������������.

Она упрощает перенос �����������������������������������������������������������������Python�����������������������������������������������������������на архитектуры с небольшим объемом стека, обеспечивает дополнительные возможности параллельной обработки данных и поощряетиспользование новейших инструментов языка, таких как сопрограммы.•• Система Cython (расширенная версия проекта Pyrex) – это гибридныйязык, дополняющий язык Python возможностью вызывать функции наязыке C�������������������������������������������������������������������������������������������������������������������������������и использовать объявления типов переменных, аргументов и атрибутов классов на языке C. Исходные тексты на языке Cython могут бытьскомпилированы в программный код на языке C, использующий Python/CAPI, который в свою очередь может быть скомпилирован в машинный код.Несмотря на то, что получающийся программный код не полностью совместим со стандартным языком Python����������������������������������������������������������������������, ������������������������������Cython������������������������может оказаться как полезным инструментом для создания оберток вокруг внешних библиотек наязыке C, так и эффективным средством разработки расширений на C дляязыка Python.Дополнительные подробности об этих системах вы без труда найдете в Интернете.Будущие возможностиВ заключение обратите внимание, что модель выполнения, обсуждавшаясяздесь, в действительности является лишь отражением текущей реализацииинтерпретатора Python, но не самого языка программирования.

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

Например:•• Проект Parrot поставил перед собой цель выработать единый формат байткода, единую виртуальную машину и методики оптимизации для различных языков программирования (подробности на сайте http://www.python.org). Стандартная виртуальная машина PVM в интерпретаторе пока выполняет программный код быстрее, чем Parrot, но пока неясно, как будет развиваться этот проект.В заключение75•• Проект PyPy – попытка реализовать ��������������������������������PVM�����������������������������непосредственно на языке Py���thon, что позволит использовать новые приемы программирования.

Егоцель – создать быструю и гибкую реализацию Python.•• Проект Unladen Swallow, поддерживаемый компанией Google����������������������������������, поставил перед собой задачу повысить производительность стандартного интерпретатора Python по меньшей мере в 5 раз, что позволит использовать его в качествезамены языку C во многих проектах. Предполагается, что в результате этойоптимизации будет создана полностью совместимая версия CPython���������������������, которая выполняется гораздо быстрее. Участники этого проекта также надеются удалить глобальную блокировку Python (Global Interpreter Lock, GIL),которая препятствует возможности одновременного выполнения нескольких потоков управления. В настоящее время этот проект разрабатываетсяинженерами из ������������������������������������������������������Google������������������������������������������������как проект с открытыми исходными текстами – изначально за основу в нем была принята версия Python 2.6, однако вполневозможно, что изменения смогут быть внесены и в версию 3.0.

Дополнительные подробности вы найдете на сайте компании Google.Подобные грядущие схемы реализации могут несколько изменить схему времени выполнения интерпретатора Python, однако, скорее всего компиляторбайт-кода останется стандартом еще какое-то время. Переносимость и гибкость байт-кода во время выполнения – это очень важные качества многих реализаций Python��������������������������������������������������������������������������������������������������������������������������. Более того, добавление в язык конструкций объявления типов с целью обеспечения статической компиляции только повредит гибкости,осмысленности, простоте и общему духу языка Python.

Из-за динамическойприроды языка Python любые реализации в будущем, скорее всего, сохранятнекоторые черты нынешней PVM.В заключениеВ этой главе была представлена модель выполнения Python������������������������������������������(как Python������������������запускает программы) и исследованы некоторые наиболее известные разновидности этой модели (динамические компиляторы и тому подобное).

Чтобы писатьсценарии на языке Python, вам необязательно знать внутреннюю организациюинтерпретатора и, тем не менее, некоторое знакомство с темой этой главы поможет вам понять, как выполняются ваши программы. В следующей главе выначнете выполнять свой собственный программный код. А теперь – обычныеконтрольные вопросы.Закрепление пройденногоКонтрольные вопросы1. Что такое интерпретатор Python?2. Что такое исходный программный код?3. Что такое байт-код?4.

Что такое PVM?5. Назовите две разновидности стандартной модели выполнения Python.6. В чем заключаются различия между CPython, Jython и IronPython?76Глава 2. Как Python запускает программыОтветы1. Интерпретатор Python – это программа, которая выполняет программы наязыке Python.2. Исходный программный код – это инструкции, составляющие программу.Он состоит из текста в текстовых файлах, имена которых обычно имеютрасширение .py.3. Байт-код – это низкоуровневое представление программы после ее компиляции. Python автоматически сохраняет полученный байт-код в файлахс расширением .pyc.4. PVM – это Python Virtual Machine (виртуальная машина Python) – механизм Python, который интерпретирует компилированный программныйкод.5.

Psyco, Shedskin и фиксированные двоичные файлы – все это разновидностимодели выполнения.6. CPython – это стандартная реализация языка. Jython и IronPython реализуют поддержку программирования на языке Python в среде Java и .NETсоответственно; они являются альтернативными компиляторами языкаPython.Глава 3.Как пользователь запускает программыИтак, настал момент запустить какой-нибудь программный код. Теперь, когдавы получили представление, как выполняются программы, вы готовы приступать к программированию на языке Python. С этого момента я буду предполагать, что интерпретатор Python уже установлен у вас на компьютере, в противном случае вернитесь к предыдущей главе, а также прочитайте приложение A,где приводятся советы по установке и настройке интерпретатора.Существует несколько способов заставить интерпретатор Python выполнитьпрограмму, которую вы написали.

Характеристики

Тип файла
PDF-файл
Размер
12,21 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее