Найти тему
LearnPython

LearnPython - Часть 1. Об языке. Области применения

Оглавление

Предыстория Языка

Python 3.0 был выпущен 3 декабря 2008 года. Планировалось, что версии Python 2.x и Python 3.x будут сосуществовать параллельно на протяжении нескольких релизов. Версия 2.x, главным образом, для совместимости с существующими приложениями, и c портированием в неё некоторых возможностей 3.x. Python 2.6 был выпущен как соответствующий Python 3.0 и включал ряд его возможностей, а также режим «предупреждения», в котором подсвечивалась функциональность, удалённая в 3.x. Подобным же образом, Python 2.7 соответствовал и включал функциональность Python 3.1, выпущенного 26 июня 2009 года. Python 2.7 был последним релизом 2.x: параллельные релизы прекратились на Python 3.2.

Python 3.0 нарушил обратную совместимость. Не требовалось, чтобы код на Python 2.x выполнялся под Python 3.0 без изменений. Было сделано много принципиальных изменений, таких как превращение оператора print в функцию (так что прежнее использование оператора print будет приводить к невозможности запустить программу) и переход на Unicode для любых строк. Динамическая типизация языка вместе с планами изменить семантику некоторых методов (например, словарей) сделали очень трудной полную автоматическую трансляцию Python 2.x в Python 3.x. Однако, инструмент, названный «2to3», может выполнить основную работу по переводу с указанием мест с неоднозначностью, используя комментарии и диагностические сообщения. Даже в альфа-версии инструмент «2to3» выполнял трансляцию довольно успешно. Для проектов, требующих совместимости как с 2.x, так и 3.x, разработчики Python рекомендуют поддерживать исходный текст в Python 2.x и выпускать релизы для 3.x с помощью «2to3».

Python 3.0 (называемый также «Python 3000» или «Py3K») разрабатывался с целью устранения фундаментальных изъянов в языке. Эти изменения не могли быть сделаны при условии сохранения полной обратной совместимости с 2.x версией, поэтому потребовалось изменение главного номера версии. Ведущим принципом разработки Python 3 было: «уменьшение дублирующейся функциональности устранением устаревших способов сделать это».

Что из себя представляет Python

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

Информационная сноска

Динамическая строгая типизация - данное определение значит что не нужно задавать явные типы переменным, в переменной может лежать какое угодно значение будь то "строки", "числа", "списки" или "словари".
Интерпретируемый язык - это такой, в котором инструкции не исполняются целевой машиной, а считываются и исполняются другой программой (которая обычно написана на языке целевой машины). Как у компиляции, так и у интерпретации есть свои плюсы и минусы.
Компилируемый язык — это такой язык, что программа, будучи скомпилированной, содержит инструкции целевой машины; этот машинный код непонятен людям.
Синтаксис - синтаксисом языка программирования называется, то как пишется код на том или ином языке программирования, ниже приведен пример языка Java и Python, разницу я думаю сами видите. У Python очень простой и читабельный синтаксис, за что лично я его и люблю.
Сравнение синтаксисов Java и Python
Сравнение синтаксисов Java и Python

Области применения

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

Список областей применения Python:

  • Веб-разработка
  • Автоматизированное тестирование
  • Машинное обучение и искусственный интеллект
  • Интернет вещей
  • Разработка игр
  • Наука о данных: их анализ и визуализация
  • Разработка мобильных приложений
  • Обработка изображений и компьютерное зрение
  • Сбор информации
  • Программирование микроконтроллеров(микросхем)
  • Компьютерное зрение
  • Передача данных(ETL)
  • Работа с http запросами
  • GUI (графический интерфейс)
  • Создание веб-сценариев
  • Работа с FTP
  • Работа с изображениями, аудио и видео файлами
  • Робототехника
  • Программирование математических и научных вычислений

Таким образом, Python подходит для решения львиной доли повседневных задач, будь то резервное копирование, чтение электронной почты, либо же какая-нибудь игрушка. Язык программирования Python практически ничем не ограничен, поэтому также может использоваться в крупных проектах. К примеру, Python интенсивно применяется IT-гигантами, такими как, например, Google и Yandex. К тому же простота и универсальность Python делают его одним из лучших языков программирования.

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