Путеводитель на языке программирования Python

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

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

Образцы решения упражнений и задач, которые приведены в учебнике, можно просмотреть в программном приложении Simple File Manager , что является приложением к учебнику. Если Вы желаете сразу перейти к практике и проверить свои силы в создании программ языке Python, используйте Практикум по программированию на языке Python .

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

Работа с учебником предполагает, что Вы:

  •  Обладаете навыками работы в операционной системе (Windows или Linux) на уровне пользователя.

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

1. Вступление

1.1. Историческая справка

Гвидо ван Россум
Гвидо ван Россум

Python  – динамическая интерпретирована объектно-ориентированный скриптовый язык программирования со строгой динамической типизацией. Разработана в 1990 году голандским программистом Гвидо ван Россумом .

Автор назвал язык в честь популярного британского комедийного сериала 1970-х «Летающий цирк Монти Пайтона». Чаще всего употребляемое прочтения названия языка — «Пайтон».

Официальный сайт языка программирования Python https://www.python.org/ .

1.2. Python в реальном мире

1.2.1. Краткое описание

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

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

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

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

Python абсолютно бесплатный.

Скорость выполнения кода Python

Один из возможных недостатков Python — скорость выполнения кода. Python не является компільованою языке. Код Python сначала компилируется во внутренний байт-код, который затем исполняется интерпретатором Python. В большинстве случаев при использовании Python выходят программы медленнее по сравнению с такими языками, как C.

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

Кроме того, Python легко расширяется модулями, написанными на C или C++. Такие модули могут использоваться для выполнения частей программы, которые создают интенсивную нагрузку на процессор.

1.2.2. Использование Python

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

Применение языка программирования Python
  1. BitTorrent  – протокол для обмена данными.
  2. Ubuntu Software Center  – бесплатное программное обеспечение для поиска, установки и удаления пакетов в системе Ubuntu Linux.
  3. Blender  – программа для создания трехмерной компьютерной графики, включающий средства моделирования, анимации, вырисовывания, пост-обработки видео, а также создания видеоигр.
  4. GIMP  – растровый графический редактор, с поддержкой векторной графики.
  5. World of Tanks .
  6. Свободная энциклопедия Википедия .
  7. Поисковая система Google .
  8. DropBox  – файловый хостинг, который включает персональное облачное хранилище, синхронизацию файлов и программу-клиент.
  9. YouTube  – популярное відеосховище.

1.2.3. Версии Python

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

Основная команда разработчиков языка Python прекращает поддержку версии Python 2.x с 1 января 2020 года.
В пособии используется версия 3.x. В частности, все примеры кода написаны и протестированы для версий Python 3.4 и выше. То есть, использование более поздних версий интерпретатора Python 3 не должно вызывать появление ошибок при выполнении примеров кода (где это необходимо, приводится объяснение относительно версии, которая используется). Если необходимо узнать, что и когда было добавлено в разные версии языка программирования Python, посетите страницу с документацией по Python .

2. Начало работы

2.1. От машинного языка до языка высокого уровня

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

Каждая инструкция в программе — это команда, которая «сообщает процессору, какую операцию он должен выполнить. Вот пример инструкции, которая может присутствовать в программе

10111010

Для нас — это лишь последовательность 0 и 1. Однако для процессора — это инструкция как выполнить определенную операцию. Процессор компьютера может понимать только те инструкции, которые написаны на машинном языке.

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

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

Весь набор инструкций, который центральный процессор может выполнить, известный как набор инструкций процессора.

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

Когда процессор выполняет инструкции программы, он участвует в процессе, который является известным как цикл fetch — decode — execute (получить — расшифровать — выполнить). Этот цикл выполняется для каждой инструкции в программе и состоит из трех шагов:

Получить
Программа — это последовательность инструкций на машинном языке. Первым шагом цикла загрузки (получения) следующей инструкции из памяти в процессор.
Декодировать
Инструкция машинного языка — это двоичное число, которое представляет команду, сообщает процессора выполнить определенную операцию. На этом шаге процессор декодирует инструкцию, которую было «вытянуто» из памяти, для определения того, какая операция должна выполняться.
Выполнить
Последний шаг цикла — выполнить операцию.

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

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

Например, на языке ассемблера, мнемокод add, как правило, означает, что нужно добавить числа, а mul, как правило, означает, умножения чисел, а mov, как правило, означает значение перемещения в определенное место в памяти.