Камиле (1). В рамках данного реферата будут рассмотрены общие вопросы, касающиеся языка Python (концепции языка, его философия и история), а также его применимость в интернеттехнологиях
Скачать 231.43 Kb.
|
Содержание Титульный лист………………………………………………….. Индивидуальное задание………………………………………... Введение……….………………………………………………….2 Общая часть……………………………………………………….4 Заключение………………………………………………………..16 Список используемых источников………………………………17 Введение Выбранная тема охватывает довольно много областей информационных технологий, т. к. язык Python является крайне универсальным языком программирования. Благодаря своей кроссплатформенности он используется для написания программ для персональных компьютеров и мобильных устройств, а также для написания веб-приложений. Поддержка нескольких парадигм программирования позволяет использовать его для решения очень большого диапазона задач. Python может использоваться не только для написания самостоятельных программ, но я и для создания связок и расширений уже существующих, что дополнительно увеличивает область его применимости. В рамках данного реферата будут рассмотрены общие вопросы, касающиеся языка Python (концепции языка, его философия и история), а также его применимость в интернет-технологиях. 1. Основные концепции языка. Python — интерпретируемый, объектно-ориентированный высокоуровневый язык программирования с динамической семантикой. Встроенные высокоуровневые структуры данных в сочетании с динамическими типизацией и связыванием делают язык привлекательным для быстрой разработки приложений. Кроме того, его можно использовать в качестве сценарного языка для связи программных компонентов. Синтаксис Python прост в изучении, в нем придается особое значение читаемости кода, а это сокращает затраты на сопровождение программных продуктов. Python поддерживает модули и пакеты, поощряя модульность и повторное использование кода. Интерпретатор Python и большая стандартная библиотека доступны бесплатно в виде исходных и исполняемых кодов для всех основных платформ и могут свободно распространяться. Python поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Следует отметить, что создатель языка Python сформулировал официальный стиль программирования на нём, который носит название "Python Style Guide". Создание Python было начато Гвидо ван Россумом (Guido van Rossum) в 1991 году, когда он работал над распределенной ОС Амеба. Ему требовался расширяемый язык, который бы обеспечил поддержку системных вызовов. За основу были взяты ABC и Modula -3. В качестве названия он выбрал Python в честь комедийных серий BBC "Летающий цирк Монти-Питона", а вовсе не по названию змеи. С тех пор Python развивался при поддержке тех организаций, в которых Гвидо работал. Особенно активно язык совершенствуется в настоящее время, когда над ним работает не только команда создателей, но и целое сообщество программистов со всего мира. И все-таки последнее слово о направлении развития языка остается за Гвидо ван Россумом. Проанализировав семантику и синтаксис языка Python, можно сделать выводы, что на него повлияло огромное число уже существующих языков программирования: С, C++ — некоторые синтаксические конструкции (как пишет сам Гвидо ван Россум — он использовал наиболее непротиворечивые конструкции из С, чтобы не вызвать неприязнь у С-программистов к Python); Современные информационные технологии стремительно развиваются изо дня в день и двигают экономический прогресс. Крупнейшие корпорации борются за лучшие умы, в частности, с каждым годом на рынке труда спрос на программистов в той или иной среде разработки растет в геометрической прогрессии. Выбор языка программирования становится стратегически важным пунктом отбора. Общая часть Python — это высокоуровневый язык программирования, который используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, парсинг и другие. В 2019 году Python стал самым популярным языком программирования, обогнав Java на 10%. Это обусловлено многими причинами, одна из которых — высокая оплата труда квалифицированных специалистов (около 100 тысяч долларов в год). Язык программирования Python Различные языки программирования обычно доминируют в какой-то отрасли (или нескольких), для работы в которой они хорошо подходят. Но это не значит, что программист ограничен использовать строго определённый инструмент, поэтому любой язык общего назначения, такой как Python, может применять для создания чего-угодно. Python смог захватить малую часть рынка веб-разработки, иногда используется для написания десктопных приложений и, конечно, тотально доминирует в сфере машинного обучения. Кроме того, на нём создаётся много прототипов, которые позволяют быстро набросать функционал и внешний вид будущего проекта. Происхождение названия Автор языка Python назвал его в честь британского комедийного шоу «Monty Python», которое было популярно в начале 1970-х годов. Это телешоу позволяло автору расслабиться и отвлечься от разработки языка. Однако, несмотря на настоящее происхождение названия, для людей более очевидно связывать Python со словом «змея». Этому также способствует логотип, на котором изображена рептилия. И хотя создатель языка не раз говорил, что название никак не связано со змеями, повлиять на мнение общества так и не удалось. Питон или Пайтон? Будь то название британского телешоу или английское звучание слова «змея», Python правильно произносить, как Пайтон. Однако, около 80% Российского сообщества привыкли использовать слово «Питон». Нельзя сказать, что однозначно правильно использовать один из вариантов, многие названия адаптируются под произношения конкретного языка, а изменить сложившиеся привычки общества очень сложно. Однако, вариант названия «Питон» уместно употреблять только в разговоре с русскоязычными собеседниками, потому что на любой международной конференции значение слова «Питон» просто не поймут, ведь в английском языке его нет, есть только «Python (Пайтон)». Логотип На логотипе изображены две змеи, образующие квадрат с выпуклым центром, это часто вводит в заблуждение пользователей, вынуждая ассоциировать название языка с рептилией. Логотип создал брат автора, Юст ван Россум — программист и шрифтовой дизайнер. Он разработал как дизайн логотипа (две змеи), так и шрифт текста Flux Regular. История создания Язык начал разрабатывать программист, Гвидо ван Россумом, в конце 1980-х. На тот момент он работал в центре математики и информатике в Нидерландах. Гвидо ван Россум увлекался работой с «железками» ещё со школьных лет, и хотя он не находил поддержки и одобрения у своих сверстников, это не помешало ему самостоятельно разработать язык программирования. Россум работал над Python в свободное время, в качестве основы он взял язык программирования ABC, в разработке которого когда-то участвовал. Этапы истории языка программирования Python: В феврале 1991 исходный код языка был опубликован на alt.sources. Уже тогда язык придерживался объектно-ориентированного подхода, мог работать с классами, наследованием, функциями, обработкой исключений и всеми основными структурами данных. В 2000 году вышла в релиз вторая версия Python. В неё добавили много важных инструментов, включая поддержку Юникода и сборщик мусора. 3 декабря 2008 в релиз вышла третья версия Python, которая является основной до сих пор. Многие особенности языка были переделаны и стали несовместимы с предыдущими версиями. И хотя функциональность третьей версии ничем не уступает второй, развитие языка разделилось на две ветки. Кто-то продолжал использовать Python 2, чтобы поддерживать старые проекты, кто-то полностью перешёл на третью версию. Python — простой язык Синтаксис Питона всегда выделял его на фоне других языков программирования. Он не страдает избыточностью, схожесть синтаксиса с обычным английским позволяет понять код даже обычному пользователю, кроме того, программист пишет меньше строк кода, потому что нет необходимости использовать символы: «;», «{», «}». Вложенность обозначается отступами, что повышает читаемость кода и приучает новичков к правильному оформлению. Простота отчасти обусловлена тем, что Питон написан на основе языка ABC, который использовался для обучения программированию и повседневной работы людей, не являющихся программистами. Python упрощает написание кода и делает разработку быстрой, всё потому что он обладает следующими особенностями: Динамическая типизация. Программисту не нужно указывать тип переменных, язык присвоит его сам. Операнды разных типов, участвующие в одной операции, автоматически приводится к нужному по определённым правилам. Удобный возврат нескольких значений функцией. Их можно перечислить через запятую и они автоматически преобразуются в список. Чтобы вернуть массив из функции, достаточно написать «return имя_массива«. Не нужно выделять память и передавать указатели в функцию. Автоматическое выделение памяти. Программисту не нужно самостоятельно выделять память под что-либо. С одной стороны это уменьшает контроль программиста над программой, с другой, разработка значительно ускоряется. Сборщик мусора. Если объект становится бесполезным (на него перестаёт что-либо ссылаться), он автоматически удаляется сборщиком мусора. Сборщик мусора позволяет оптимизировано использовать память и не удалять бесполезные объекты вручную. a, b = b, a. Эта строка меняет местами значения переменных, теперь то, что было в a, находится в b и наоборот. Такое возможно, потому что Питон сначала рассматривает переменные справа от знака «=» и помещает их в список, то же он делает с элементами слева от «=», затем он связывает каждый элемент правого списка с левым. Таким способом можно обменивать значения не только двух переменных, но и трёх, пяти и так далее. Привязка типа данных. Тип данных привязан к значению, а не к переменной. То есть значение — это какой-то объект с атрибутами, которые определяют его тип и другие характеристики, а переменная — просто ссылка на этот объект. Такой подход позволил обойтись без явного определения типов и значительно упростил повторное присваивание значения переменной (особенно, если тип нового значения отличен от начального). Цикл for. Работать с массивами, списками и другими контейнерами в Питоне просто и удобно. Когда необходимо перебрать все его элементы, конструкция выглядит так: «for x in контейнер:» (перебор идёт от 0 до последнего элемента, его индекс можно обозначить как -1). Если нужно, чтобы прошло определённое количество циклов, пишут так: «for x in range(1,9):» (цикл будет выполняться со значениями x от 1 до 8). Интерпретируемый язык. Написанный код не нужно компилировать, достаточно запустить его и получить результат. Более того, можно работать в интерактивном режиме и получать результат буквально после каждой операции. Python сочетает в себе и простоту и мощный инструментарий. Его можно использовать для создания прототипа практически любой программы. Чтобы ускорить разработку, часть программы (обычно не сильно влияющую на скорость работы) пишут на Питоне. Именно благодаря простоте этот язык программирования смог занять доминирующее место в сфере машинного обучения. Люди, так или иначе связанные с наукой, предпочитают не тратить много времени на такие вещи, как написание кода, поэтому Python отлично подошёл для реализации поставленных перед ними задач. Пример кода: def what_bigger(a, b): if a > b: print(a, "больше чем", b) else: print(b, "больше чем", a) def max_arr(arr): max = 0 for x in arr: if arr[x-1] > max: max = arr[x] return max def arr_to_2arr(array): array = array * 2 return array print("Простая программа на языке Пайтон") a = [1,2,3,6,1,6] what_bigger(1,5) r1 = max_arr(a) r2 = arr_to_2arr(a) print("Return функции max_arr - ", r1) print("Return функции arr_to_2arr - ", r2) Результаты выполнения: Простая программа на языке Пайтон 5 больше чем 1 Return функции max_arr - 6 Return функции arr_to_2arr - [1, 2, 3, 6, 1, 6, 1, 2, 3, 6, 1, 6] Популярность Несмотря на то что языку уже более 29 лет, он популярен среди программистов всего мира. Python используется почти в каждом среднем или крупном проекте, если не как основной инструмент разработки, то как инструмент для создания прототипа или написания какой-то его части. Он собрал вокруг себя огромное сообщество разработчиков, по результатам опроса на Stackoverflow Python занял 7 место с почти 39% голосов. Индекс TIOBE Этот индекс показывает популярность языков программирования, информация обновляется каждый месяц. Оценка популярности основывается на количестве квалифицированных специалистов по всему миру. Для анализа также используются все популярные поисковые системы. Важно понимать, что индекс не показывает лучший язык программирования, он лишь показывает их популярность. Согласно индексу TIOBE Python занял 3 место с 9-ю процентами популярности. Он уступил лишь языкам Java и C. PYPL Этот индекс основывает на количестве поисковых запросов, касающихся учебных материалов по языку. По данным с PYPL Python занимает первое место с более чем 29% популярности и на 10% обгоняет Java. statista.com Сервис предоставляет различные виды статистики, среди которых — популярность языков программирования. Согласно опросу более 85 тысяч респондентов, Python занимает 4 место, уступив таким языкам, как JS, языки разметки и SQL. Скорость работы Программисты часто задаются вопросом: «Не приведёт ли использование Python к снижению производительности?». Не стоит делать какие-либо выводы без детального разбирательства. Если рассматривать только скорость выполнения кода, то становится ясно, что Python уступает другим языкам программирования, таким как C. Действительно, динамическая типизация, интерпретируемость и другие особенности, облегчающие работу программиста, приводят к ухудшению производительности. Однако в современном IT важна не только скорость работы программ, но и скорость их разработки. Разработка, тестирование, отладка и поддержка — всё это стоит немалых денег. И если в скорости работы программ Python уступает, то в скорости разработки ему нет равных. Для любого проекта важно выбрать правильный инструмент и лучшую реализацию. Улучшая одно, программист жертвует другим, его задача — найти идеальный баланс, ориентируясь на конкретное техническое задание. Python позволяет писать достаточно быстрый код, однако может подводить в некоторых «узких» местах, которые и оказывают наибольшее влияние на производительность всего проекта. Чтобы не затянуть разработку и получить на выходе программу, работающую на высокой скорости, её структуру проектируют так, чтобы соотношение «быстродействие/время разработки» было максимальным. Программисты используют приёмы, позволяющие нивелировать недостаточную скорость выполнения программ на Pyton: Встраивание кода на С. С помощью такого приёма можно заметно повысить производительность, обычно на С пишут те участки кода, которые обрабатывают много запросов в единицу времени. Например, функцию, которая получает данные из одной базы данных, обрабатывает их и отсылает в другую, лучше написать на языке С, если объем проходящей информации достаточно большой. Использование лучших алгоритмов и инструментов. Одну и ту же задачу можно решить по-разному. Во-первых, программист должен выбрать наиболее эффективный алгоритм, обеспечивающий лучшую производительность, например, для поиска элемента в отсортированном массиве можно перебирать его от начала до конца, в лучшем случае (элемент в начале массива) поиск выполнится быстро, в худшем (элемент в конце массива) — медленно. Эффективнее использовать методом деления пополам (двоичный поиск), который найдёт нужный элемент за минимальное количество итерация в массиве любой длины. Во-вторых, для реализации задачи нужно подбирать правильные инструменты. Например, если последовательность элементов строго определена и не изменяется, лучше использовать кортеж, а не список. Он требует меньше места, обрабатывается быстрее и защищён от случайных изменений. Оптимизация интерпретатора. Скорость программ на Python сильно зависит от работы интерпретатора, одни конструкции работают быстрее, другие медленнее.
Модули для тестирования. Чтобы определить какие участки кода сильно снижают общую производительность, программист может использовать специальные модули для тестирования. Таким образом, можно понять, какой код нужно оптимизировать или заменить на код на языке C. Готовые инструменты. Для большинства задач уже разработаны эффективные решения. Лучше использовать готовый, отлаженный код какой-либо библиотеки, чем писать своё решение с нуля, которое 100% будет не таким эффективным. Что можно написать на Python Питон используют во многих областях программирования, поэтому на нём можно написать что угодно. Для разработки серверной части сайта используются фреймворки: Django и Flask. Они превращают Python в серверный язык программирования, возможности которого не уступают другим популярным инструментам. Программист легко может работать со связями URL адресов, обращениями к базам данных и созданием HTML файлов, которые пользователь видит в браузере. И хотя большую часть рынка серверной веб-разработки контролирует PHP, всё больше программистов отдают своё предпочтение разработке на Python. Blockchain Блокчейн — это последовательная цепочка блоков, где каждый блок содержит информацию и всегда связан с предыдущим. Технология может использоваться в любых сферах и особенно популярна в финансовой сфере и в сфере криптовалюты биткоин. Блокчейн совмещает в себе защищенность и открытость информации, он позволяет получить доступ к данным из любой точки мира, в то же время его практически невозможно взломать, данные хранятся на каком-то главном компьютере, а взламывать каждый блок очень затратно и долго. На Питоне без проблем можно написать полноценный блокчейн, если его грамотно спроектировать, то он не будет отставать по производительности от решений на других языках. Бот Это программа, автоматически выполняющая какие-либо действия в заданное время или в ответ на поступивший сигнал. Боты могут примитивно симулировать поведение человека, поэтому они часто используются для работы в технической поддержке (чат-боты), поиска информации в интернете (поисковые боты), имитации действий человека или другого существа в виртуальном мире (компьютерные игры). Python позволяет быстро создавать многофункциональных и относительно умных ботов. Важно понимать, что боты — это не простая программа в 500 строк кода. Заказ на создание бота для бизнеса может стоить несколько миллионов. Цена обусловлена тем, что спроектировать бота, которого будет сложно отличить от человека, очень сложно. Необходимо предусмотреть множество вариантов диалогов, проанализировать поведенческие факторы человека и внедрить их в программу. Проще говоря, из машины, понимающей только нули и единицы, нужно сделать примитивный «мозг». База данных База данных — это информация, систематизированная по общим признакам и специальным правилам. В любом большом проекте используются базы данных, в них хранится информацию о пользователях, изменениях в программе и т. д. Систему управления базами данных можно написать на Python. Дополненная реальность Дополненная реальность дополняет физический мир с помощью виртуальных технологий. То есть виртуальные объекты проецируются на реальное окружение, и имитируют признаки и поведение обычных физических объектов. Дополненную реальность можно наблюдать в фильмах, таких как Железный Человек. В реальном мире она используется, например, в боевых истребителях (система прицеливания). Работа дополненной реальности основана на взаимодействии с метками. Электронное устройство получает информацию и анализирует окружающее пространство, с помощью компьютерного зрения он «понимает», что человек видит перед собой. Затем устройство накладывает на реальный мир «виртуальный слой». Профессиональные приложения дополненной реальности стоят около полумиллиона рублей, проектировать и писать их не просто, в процесс разработки привлекаются различные специалисты, от 3D-дизайнеров до программистов. Python является отличным инструментом для создания проектов дополненной реальности. BitTorrent клиент BitTorrent — уникальная технология, позволяющая быстро обмениваться большими объёмами данных через интернет. До 6 версии клиент BitTorrent был полностью написан на Python. И хотя позже он был полностью переписан на C++, это показывает, что Pyton можно использовать для реализации задач такого рода. Нейронная сеть Понятие «нейронная сеть» пришло в программирование из биологии. В биологии нейронная сеть — это последовательность нейронов, соединённых между собой. Программно созданные нейронные сети способны не только анализировать и запоминать информацию, но и воспроизводить её из памяти. Они используются для решения сложных задач, где необходимы вычисления, которые совершаются человеческим мозгом.. Обычно нейронные сети используются для классификации чего-то по признакам, прогнозирования, распознавания, например, человека по фото или видео. Python — явный лидер в сфере разработки нейронных сетей. Помимо стандартных инструментов он обзавёлся огромным количеством библиотек для машинного обучения. Благодаря этому на Питоне можно относительно быстро написать даже большой и сложный проект. Парсер Это ПО для сбора и обработки информации. Можно парсить такую информацию, как курс доллара, а можно следить и анализировать изменения акций различных компаний. Парсер можно написать на многих языках, Python — не единственный хороший инструмент для этого, однако его возможностей вполне достаточно, чтобы написать приложение, собирающее информацию быстро и эффективно. Калькулятор Это задание выполнял, пожалуй, каждый студент факультета информатики. Калькулятор можно написать на любом языке программирования, и Python — не исключение. Важно понимать, что от калькулятора требуется 100% точность расчёта. Поэтому все ошибки, связанные с округлением и двоичным представлением чисел могут быть критичными. Однако для Python написаны библиотеки, полностью решающие данную проблему. Игра На Питоне не создаются большие игры, он либо используется для разработки прототипа, либо для реализации какой-то части (например, серверной логики игры или системы моддинга). Для написания небольшого проекта можно воспользоваться библиотекой Pygame, которая даёт все необходимые инструменты для создания небольшой 2D игры. Текстовый редактор Он может использоваться для написания и редактирования не только текста, но и кода. Многие текстовые редакторы способны определять используемый язык программирования и подсвечивать его синтаксис. Некоторые из них и вовсе напоминают полноценную IDE. Написать небольшой текстовый редактор не сложно, однако для создания крупного проекта понадобиться много знаний и сил. Несмотря на быстроту разработки на Python, создание текстового редактора с достаточным по современным меркам функционалам — это работа для целой команды программистов. Язык программирования Компьютер — это всегда многоуровневое устройство. Используя самый сложный и неудобный инструмент, программист создаёт более простой, а из него ещё более простой. Хотя это понижает производительность (если бы всё было написано на ассемблере, программы работали бы в десятки или даже сотни раз быстрее), но также и значительно уменьшает время разработки, её удобство и сложность. Python достаточно высокоуровневый язык, поэтому писать на его основе ещё один язык программирования нецелесообразно, хотя и можно. Полезнее будет разработать интерпретатор для самого Python или другого языка программирования. Также можно создать компилятор (программа, конвертирующая код языка программирования в машинный). Подобные проекты не подойдут для коммерческих целей, но создание своего компилятора, интерпретатора или языка даст много бесценного опыта. Достоинства языкаНесомненным достоинством является то, что интерпретатор Python реализован практически на всех платформах и операционных системах. Первым таким языком был C, однако его типы на разных машинах могли занимать разное количество памяти и это служило некоторым препятствием при написании действительно переносимой программы. Python же таким недостатком не обладает. Следующая немаловажная черта - расширяемость языка, этому придается большое значение и, как пишет сам автор, язык был задуман именно как расширяемый. Это означает, что имеется возможность совершенствования языка всеми желающими. Интерпретатор написан на С и исходный код доступен для любых манипуляций. В случае необходимости, можно вставить его в свою программу и использовать как встроенную оболочку. Или же, написав на C свои дополнения к Python и скомпилировав программу, получить «расширенный» интерпретатор с новыми возможностями. Следующее достоинство - наличие большого числа подключаемых к программе модулей, обеспечивающих различные дополнительные возможности. Такие модули пишутся на С и на самом Python и могут быть разработаны всеми достаточно квалифицированными программистами. В качестве примера можно привести следующие модули: Numerical Python - расширенные математические возможности, такие как манипуляции с целыми векторами и матрицами; Tkinter - построение приложений с использованием графического пользовательского интерфейса (GUI) на основе широко распространенного на X-Windows Tk-интерфейса; OpenGL - использование обширной библиотеки графического моделирования двух- и трехмерных объектов Open Graphics Library фирмы Silicon Graphics Inc. Данный стандарт поддерживается, в том числе, в таких распространенных операционных системах как Microsoft Windows 95 OSR 2, 98 и Windows NT 4.0. 2.2Недостатки языкаЕдинственным недостатком, замеченным автором, является сравнительно невысокая скорость выполнения Python-программы, что обусловлено ее интерпретируемостью. Однако на наш взгляд, это с лихвой окупается достоинствами языка при написании программ не очень критичных к скорости выполнения.Заключительная часть Компьютер — это всегда многоуровневое устройство. Используя самый сложный и неудобный инструмент, программист создаёт более простой, а из него ещё более простой. Хотя это понижает производительность (если бы всё было написано на ассемблере, программы работали бы в десятки или даже сотни раз быстрее), но также и значительно уменьшает время разработки, её удобство и сложность. Python достаточно высокоуровневый язык, поэтому писать на его основе ещё один язык программирования нецелесообразно, хотя и можно. Полезнее будет разработать интерпретатор для самого Python или другого языка программирования. Также можно создать компилятор (программа, конвертирующая код языка программирования в машинный). Подобные проекты не подойдут для коммерческих целей, но создание своего компилятора, интерпретатора или языка даст много бесценного опыта. Благодаря простоте и гибкости языка Python, его можно рекомендовать пользователям (математикам, физикам, экономистам и т.д.) не являющимся программистами, но использующими вычислительную технику и программирование в своей работе. Программы на Python разрабатываются в среднем в полтора-два (а порой и в два-три) раза быстрее, нежели на компилируемых языках (С, С++, Pascal). Поэтому, язык может представлять не малый интерес и для профессиональных программистов, разрабатывающих приложения, не критичные к скорости выполнения, а также программы, использующие сложные структуры данных. В частности, Python хорошо зарекомендовал себя при разработке программ работы с графами, генерации деревьев. Несмотря на ряд проблем исторически присущих Python, он продолжает оставаться лидирующим инструментом в ряде ниш: Разработка веб-приложений (тут у нас бесусловный лидер в виде Django). Анализ данных и машинное обучение (пакеты scipy, scikit-learn, pandas, numpy признанные мировым ученым сообществом). Введение в программирование (pygame, turtle хорошо помогают мотивировать детей начинать кодить). Быстрое прототипирование идей в бизнесе за счёт обилия готовых библиотек, низкого порога вхождения в язык и высокой продуктивности программистов, пишущих на Python. Написание скриптов (сценариев) для автоматизации задач. Python по-умолчанию поставляется со всеми дистрибутивами unix-like систем и является отличной заменой Bash во всех смыслах. Список используемых источников Златопольский Д.М. Основы программирования на языке Python. – М.: ДМК Пресс, 2017. – 284 с. Гэддис Т. Начинаем программировать на Python. – 4-е изд.: Пер. с англ. – СПб.: БХВ-Петербург, 2019. – 768 с. Лучано Рамальо Python. К вершинам мастерства. – М.: ДМК Пресс, 2016. – 768 с. Свейгарт, Эл. Автоматизация рутиных задач с помощью Python: практическое руководство для начинающих. Пер. с англ. — М.: Вильямc, 2016. – 592 с. Рейтц К., Шлюссер Т. Автостопом по Python. – СПб.: Питер, 2017. – 336 с.: ил. – (Серия «Бестселлеры O’Reilly»). Любанович Билл Простой Python. Современный стиль программирования. – СПб.: Питер, 2016. – 480 с. Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для прикладного бакалавриата / Д. Ю. Федоров. – 2-е изд., перераб. и доп. – Москва : Издательство Юрайт, 2019. – 161 с. Шелудько, В. М. Основы программирования на языке высокого уровня Python: учебное пособие / В. М. Шелудько. – Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. – 146 c. Шелудько, В. М. Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули: учебное пособие / В. М. Шелудько. – Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. – 107 c. |