Pythonicway — Примеры программ на Python

Какие программы написаны на Python?

Прикладное ПО для нормальных людей

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

BitTorrent

Все версии до 6 этого торрент-клиента были написаны на Python. Версия 6 была переписана на C++.

Ubuntu Software Center

Цитата из Википедии:

Центр приложений Ubuntu (англ.Ubuntu Software Center) — свободное программное обеспечение для поиска, установки и удаления пакетов в системе Ubuntu Linux. в последних версиях возможна покупка журналов о Linux и Ubuntu, также можно приобретать платные игры и софт. Приложение разработано на языке Python + Vala с использованием библиотек GTK+ и является графической оболочкой для Advanced Packaging Tool.

Blender

Цитата из Википедии:

Blender — свободный, профессиональный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр. В настоящее время пользуется наибольшей популярностью среди бесплатных 3D редакторов в связи с его быстрым и стабильным развитием, которому способствует профессиональная команда разработчиков.

Python используется как средство создания инструментов и прототипов, системы логики в играх, как средство импорта/экспорта файлов (например COLLADA), автоматизации задач.

Вот несколько страниц с документацией:

GIMP

Цитата из Википедии:

GIMP («Гимп») — растровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой.

Python используется для написания дополнительных модулей, например, фильтров.

Первая программа на Python

Вот несколько страниц, которые глубже раскрывают тему:

Игры

Civilization IV

Большая часть игры написана на Python ( источник).

Battlefield 2

В сети Интернет есть много учебников и просто рецептов по изменению различных объектов и их поведения.

World of Tanks

Цитата из статьи » GUI в игре World of Tanks»:

В качестве скриптового языка в проекте используется Python. Всю красоту, которую мы сделали во Flash, нужно подключить в игре, наполнить данными, обработать и транслировать пользовательский ввод в реальные действия в игре. Все это как раз и делается в Python.

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

Какие компании используют Python?

Список компаний, которые используют Python, длинный. Среди них Google, Facebook, Yahoo, NASA, Red Hat, IBM, Instagram, Dropbox, Pinterest, Quora, Яндекс, Mail.Ru.

Яндекс

Вот, пожалуйста, доклад » Python в ядре Яндекс.Диска».

Сергей Иващенко (докладчик):

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

В одном из видео на канале Яндекса, сотрудники рассказали о своих любимых языках.

А ещё в блоге компании Яндекс есть запись » На каких языках программирования пишут в Яндексе» от 19 марта 2014 года. Так вот, 13% сотрудников Яндекс большую часть рабочего времени пишут на языке Python.

Mail.ru

Сотрудники Mail.ru тоже используют Python. В официальном блоге Mail.ru на Хабре есть несколько статей о Python:

Разработка прикладного ПО, в том числе игр

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

Научные исследования

Физики и математики очень любят Python за его простоту. Кроме того для Python существует огромное количество библиотек, облегчающих жизнь ученому. Например:

  1. SciPy — это открытая библиотека высококачественных научных инструментов для языка программирования Python. SciPy содержит модули для оптимизации, интегрирования, специальных функций, обработки сигналов, обработки изображений, генетических алгоритмов, решения обыкновенных дифференциальных уравнений и других задач, обычно решаемых в науке и при инженерной разработке.
  2. Matplotlib — библиотека на языке программирования Python для визуализации данных двумерной (2D) графикой (3D графика также поддерживается). Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях.
  3. NumPy — это расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами.

Более полный список библиотек для научных вычислений на языке Python можно найти в Википедии.

Обучение

Очень часто в качестве первого языка программирования советуют именно Python.
У некоторых российских школ есть успешный опыт обучения школьников программированию на языке Python.
Кстати, Гвидо ван Россум находился под впечатлением от языка ABC, когда писал Python. А язык ABC предназначался для обучения и прототипирования.

Критика языка Python

Python один из самых медленных языков программирования

В сети Интеренет можно найти много различных тестов скорости программ, написанных на разных языках программирования. Python обычно находится в конце списков.
Обычно под Python имеют в виду CPython, эталонную реализацию языка. Существуют другие реализации языка Python, например PyPy. PyPy обгоняет по скорости CPython и многие другие скриптовые языки программирования, очень близок по скорости к Java. Но есть одна проблема — в PyPy не полностью реализован язык Python, из-за этого многие Python-программы на нем не работают.
Многие программисты пишут вставки на C/C++, чтобы ускорить работу в узких местах. Python не предназначен для вычислительных задач, для задач, которые требуют много памяти (memory bound) и подобного. Нужно уметь выбирать подходящие инструменты для стоящих перед вами задач. Гвидо ван Россум говорит об этом в интервью.

GIL мешает одновременному выполнению нескольких потоков

Global Interpreter Lock не позволяет нескольким потокам Python выполняться одновременно. Это особенности CPython. Но недостаток ли это? Нужно понимать, что всё зависит от задачи. Если ваша задача зависит от скорости ввода-вывода (IO bound task), то эффективнее использовать несколько процессов, которые будут работать в асинхронном режиме с внешними ресурсами. А потоки с общей памятью хороши для вычислительных задач (CPU-bound). Но даже если вам нужна работа с потоками, то можно отключить GIL на время, так как это сделано в математическом пакет NumPy.

Нет хороших инструментов для дистрибуции

К сожалению код на Python, который имеет множество зависимостей от системных библиотек, сложно перенести на другие системы. Эту задачу решают с помощью virtualenv. но этот инструмент очень много критикуют системные администраторы.

Дополнительная информация

Python Success Stories
You Used Python to Write WHAT?
What is Python Used For?
More proof that it’s Python’s world and we’re just living in it
AVERAGE SALARY FOR JOBS REQUIRING PYTHON
List of Python software

Примеры программ

.

Если вы работаете в MS Windows и еще не установили Python (для дальнейшего изучения) или возможно испытываете затруднения в его установке, обратите внимание на статью Как установить Python в Windows XP. В ней рассмотрена пошаговая установка Python в операционную систему MS Windows XP.

Так уж вышло, что обучение любому языку программирования начинается с написания простой программы, выводящей на экран надпись «Hello world!» («Здравствуй, мир!»). По традиции, мы начнем с этого и даже пройдем немного подальше.

Итак, для написания нашей программы, мы будем использовать IDLE, поставляемую с Python. Запустить ее вы сможете, выполнив «Пуск» -> «Все программы» -> «Python x_версия» -> IDLE (Python GUI)

Результатом будет появившееся окно Python Shell:

Откроем «File» -> «New window» (или нажмем комбинацию клавиш Ctrl+N). Появится окно редактора: в котором мы напишем следующий код:

Теперь сохраним наше творение в файл и назовем его first.py. Для этого выберем «File» -> «Save As..» или просто нажмем комбинацию клавиш Ctrl+Shift+S.

Файл мы сохранили, теперь самое время попробовать выполнить его и посмотреть результат.

Ваша первая программа на Python

Для этого нажимаем в меню «Run» -> «Run Module» или просто нажмем на клавишу F5.

Результатом нашего действия будет появившееся окно Python Shell и, затем, появившаяся строчка «Hello world!»

Как мы видим, Python корректно обработал код программы и она выполнилась успешно.

Если вы допустите какую-нибудь ошибку в коде, Python сообщит вам об этом. Я попытался выполнить код: и получил в ответ ошибку:

Как видим, Python сообщил о синтаксической ошибке в коде. При написании кода программ следите за корректностью написания команд. Но если вы ошибетесь, то в этом нет проблемы — Python «ткнет вас носом» в строку с ошибкой.

Что же, наша первая программа работает и давайте попробуем немного ее изменить. Во-первых добавим в нее комментарии, а, во-вторых, сделаем так, чтобы после вывода строки «Hello world!» компьютер ожидал от нас нажатия на любую клавишу и после этого завершал работу программы.

Запомните! Все строки, начинающиеся со знака # являются строками с комментариями. Если при выполнении кода Python встречает такие строки, он просто пропускает их. Комментирование своего кода является признаком хорошего тона у программистов и, я думаю, что вы оцените важность и удобность комментирования кода.

Наберите следующий код: и, предварительно сохранив (а без этого Python не даст вам выполнить созданное) его, нажмите на F5. Результатом выполненного у вас будет вид:

Нажмите любую клавишу и программа завершит свою работу.

Как вы видите, комментарии в коде, как и положено им, не выводились на экран. А после вывода строки «Hello world!», через пустую строку (ее создал управляющий символ \n, находящийся перед фразой Press the enter…), появилась строка: и система замерла в ожидании ваших действий. После того, как вы нажали на любую клавишу, программа завершила свою работу.

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

Успехов!

Добавить комментарий

Закрыть меню