Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Рекомендуемая литература

  • Марк Лутц. Изучаем Python. 4-е издание – очень толстый и подробный учебник.

  • Марк Саммерфилд. Программирование на Python 3 – менее толстый, не столь подробный учебник.

Интерпретация и компиляция

Транслятор представляет собой программу, на основе которой компьютер преобразует вводимые в него программы на машинный язык, поскольку он может выполнять программы, записанные только на языке его процессора, и алгоритмы, заданные на другом языке, должны быть перед их выполнением переведены на машинный язык.

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Результат работы компилятора — бинарный исполняемый файл.

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

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

Для достижения большей скорости работы программ на интерпретируемых языках программирования может использоваться трансляция в промежуточный байт-код. Языками, позволяющую данную хитрость являются Java, Python и некоторые другие языки программирования.

Алгоритм работы простого интерпретатора:

  1. прочитать инструкцию;

  2. проанализировать инструкцию и определить соответствующие действия;

  3. выполнить соответствующие действия;

  4. если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2

Где применяется Python

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

Многие компании активно используют Python для написания своих продуктов или некоторых их частей. Среди крупнейших можно выделить:

  • Google

  • Яндекс

  • Mail.Ru

  • Apple( использует Python и Twisted для разработки сервера календарей iCal)

  • IBM

  • CERN

  • DreamWorks

  • NASA

  • Nokia

Кроме того, Python активно используется в различных проектах:

  • CherryPy — среда для разработки веб-приложений

  • Django — среда для разработки веб-приложений

  • Google App Engine — Google-хостинг

  • Matplotlib — визуализация научных данных в стиле MATLAB

  • BitTorrent — первый клиент-сервер для популярного протокола файлообменных сетей.

  • Dropbox — приложение для прозрачной синхронизации данных на множестве компьютеров.

Следующие проекты используют Python для написания скриптов:

  • Википедия использует Python для написания ботов

  • OpenOffice.org — набор офисных программ, альтернатива Microsoft Office

  • Vim — текстовый редактор

Python также активно используется разработчиками компьютерных игр (Eve Online, Civilization IV и др.)

Пишем на Python в одну строчку

Благодаря функциональным возможностям языка Python, на нем многое можно написать в одну строчку.

  • считываем числа, вводимые через пробел, и сортируем их по возрастанию:

print(sorted(map(int, input().split()))) 

  • заполняем таблицу N * M числами от 1 до M * N змейкой:

[ [ m * i + j * (i % 2 == 0) + (m - 1 - j) * (i % 2 == 1) for j in range(m)] for i in range(n)] 

  •  кодируем текст шифром Цезаря:

print("".join([chr(ord(c) + 1) for c in input()])) 

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