Файл: Python среди других языков программирования python.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.12.2023

Просмотров: 26

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



  Часто этот недостаток компенсируется за счёт внутреннего кэширования (о том, что такое кэширование, можно почитать здесь).


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

В целом, Python — как автомобиль «на каждый день»: очень удобный и универсальный в использовании, но проигрывает в скорости менее комфортным и более быстрым суперкарам. Вам не нужно очень долго учиться — сели и поехали. Уже через несколько занятий вы сможете писать свои собственные полноценные программы.

Но это вовсе не значит, что Python не применяется для серьёзных задач. Всё как раз наоборот — многие крупные IT-компании используют Python в качестве рабочего инструмента: FacebookInstagramNetflixGoogleYandexYoutubeDropboxReddit. На Python написаны InstagramSpotifyMozilla, игры (Civilistation IVBattlefield). Основную тенденцию хорошо отражает решение, которое было принято Google«Использовать Python, там, где можем, C++ — где должны».

ВЕРСИИ PYTHON

В литературе или в работе (хотя этот шанс стремительно уменьшается) вы можете встретить упоминание Python 2.6 или 2.7.

Всё ещё можно сказать, что существует две принципиально разные версии PythonPython 2 и Python 3.

Однако поддержка Python версии 2 была прекращена в январе 2020 года. Последняя версия 2.7.18 была выпущена в апреле 2020 года.

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

Python 3.0 разрабатывался с целью устранения фундаментальных изъянов в языке. Эти изменения невозможно было сделать с сохранением полной обратной совместимости с Python 2.

→ Главными  целями разработки Python 3 были уменьшение дублирующийся функциональности и устранение устаревших и неэффективных реализаций в языке.

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

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

Но и для Python 3 существует несколько различных типов:



СТАРЫЕ ВЕРСИИ



АКТУАЛЬНЫЕ ВЕРСИИ



ТЕСТИРУЕМЫЕ ВЕРСИИ

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

По состоянию на июнь 2021 года это версии 3.73.83.9.

Постепенно ранние версии также прекращают свою поддержку (так, версия 3.6 перестанет поддерживаться 23 декабря 2021 года), поэтому старайтесь пользоваться наиболее поздней из доступных версий.

Версии, которые проходят тестирование и готовятся к официальному выпуску (например, версия 3.10 сейчас находится в предрелизном состоянии и будет выпущена 4 октября 2021 года).

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

Не рекомендуем использовать их для рабочих задач. До официального релиза такие версии подходят только для экспериментов.


ОКУМЕНТАЦИЯ СТАНДАРТНОЙ БИБЛИОТЕКИ

→ Наличие подробной стандартной библиотеки — это ещё один из плюсов выбора Python как первого и основного языка программирования.

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

Посмотрим на основные составляющие стандартной библиотеки, документацию по ней для актуальной версии интерпретатора можно найти по ссылке.

Документацию для специфической версии интерпретатора можно найти здесь.

1Итак, первое, что стоит держать в голове — это встроенные функции (Built-in Functions). С частью функций, возможно, вы не столкнётесь, а какие-то будут использоваться вами очень часто, например len()range()min()max(). С функциями мы будем работать в течение всего курса, так что у вас будет много времени для того, чтобы подружиться с ними.

2Встроенных типов (Built-in Types) меньше, чем встроенных функций, и их нужно знать, потому что это основа для построения ваших программ. Специально их учить не нужно — на практике вы и так их запомните. К основным типам данных можно отнести:

    • целые числа;

    • числа с плавающей запятой;

    • строки;

    • списки;

    • словари.

Важно представлять, каким функционалом обладают эти типы данных. Подробнее со встроенными типами данных мы познакомимся в следующих модулях.

3Ещё одной важной частью стандартной библиотеки являются модули. Модули в Python немного похожи на модули в курсе: в обоих случаях это набор полезностей, объединённых одной темой.

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

Даже простейший скрипт, содержащий всего одну строку print(‘Hello World’), можно назвать модулем.

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



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

pprint предоставляет возможность вывести на экран произвольные структуры данных Python в удобном для просмотра виде. Это часто важно при отладке кода, когда мы хотим видеть содержимое наших объектов.

collections расширяет основной набор типов данных специализированными типами данных, которые очень удобно применять в некоторых случаях. Например, есть класс задач, в которых нам надо подсчитать количество элементов последовательности (списка, символьной строки), и здесь начинающие питонисты часто пытаются изобретать собственные решения. Этот процесс может занять длительное время, а результат — оказаться не совсем эффективным. Если нам надо что-то посчитать, определить количество вхождений какого-то элемента или самых редких/частых элементов, то здесь отлично подойдут инструменты из модуля collections.

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

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

ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ

Если вы помните, при установке интерпретатора Python на Windows вместе с ним устанавливается программа под названием IDLE.

IDLE — это интегрированная среда разработки и обучения на языке Python (от англ. Integrated Development and Learning Environment). Так как при установке интерпретатора вы поставили галочку напротив IDLE, то вам не придётся искать дополнительные программы перед началом работы. Удобный графический интерфейс для работы с интерпретатором Python будет сразу доступен.

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

IDE — интегрированная среда разработки (англ. Integrated Development Environment). Простыми словами можно сказать, что это программы, которые позволяют писать другие программы.

НЕ IDE

IDE

Консоль (CLI)

IDLE (Windows)

Текстовый редактор (Notepad++, VIM, Sublime)

PyCharm, Spyder

Jupyter Notebook

Visual Studio, Eclipse + PyDev

IDE состоит из трёх основных объектов:

    • текстового редактора, который позволяет писать код;

    • транслятора (в случае Python — интерпретатора), который исполняет ваш код;

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

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

  • С перечнем IDE, позволяющих работать с Python, можно ознакомиться здесь. Для первого ознакомления можно выделить несколько популярных IDE: PyCharm, Spyder, Visual Studio, Eclipse + PyDev.

  • Сравнительный анализ IDE для Python можно посмотреть здесь.

В рамках данного курса мы будем работать с программным обеспечением компании JetBrains, а конкретно IDE PyCharmдве версии данного продукта: Professional Edition и Community Edition (CE).

Версия PyCharm CE является бесплатной и содержит все необходимые функции для комфортного написания кода. Версия Professional содержит углубленные интеграции в отдельные сферы работы с Python, например веб-разработка.

Важно понимать, что PyCharm — это среда разработки, которая автоматизирует многие вещи. Автоматизация для начинающего программиста может пойти во вред, так как сперва важно научиться понимать, что и как делать. Получить понимание необходимо через ручной труд. Поэтому мы предлагаем во время обучения на курсе использовать версию 
PyCharm CE.

Если вам интересно посмотреть на различия PyCharm CE и PyCharm PE, вы можете скачать PyCharm Professional Edition и в течение месяца воспользоваться бесплатным пробным периодом.

ПАКЕТНЫЕ МЕНЕДЖЕРЫ

Мы уже разбирали модули, которые содержатся в стандартной библиотеке. Ещё модули можно объединять в наборы файлов, и тогда этот набор называется  пакетом. Хоть в стандартной библиотеке немало модулей и пакетов, но их функционал достаточно ограничен.

Поэтому существует так называемый «каталог пакетов Python» (PyPI (аббр. от англ. Python Package Index), где содержатся пакеты, написанные другими разработчиками, которыми они решили поделиться. Все эти пакеты хранятся в репозитории, который можно найти на сайте pypi.org. Каждый проект содержит описание, ссылки на исходный код и документацию на тему того, как пользоваться представленным решением.

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

Пакетный менеджер,или  система управления пакетами используется для установки и управления программными пакетами. Они помогают вам не вдаваться в подробности, где взять ту или иную библиотеку, как её установить на свой компьютер. Вместо этого вам представлен удобный интерфейс, позволяющий с помощью одной команды установить или удалить пакет, зная его название.

Для Python можно выделить три основных пакетных менеджера:

    • pip;

    • pipenv;

    • conda.

Менеджер pip является модулем, написанным на Python, и позволяет работать только с установкой Python-пакетов.

Pipenv использует связку pip и virtualenv, что упрощает их использование с помощью одного интерфейса командной строки.

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

ВИРТУАЛЬНЫЕ ОКРУЖЕНИЯ

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

В мире программирования есть два подхода к хранению зависимостей: