Python для электриков. 1-3 части

Введение

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

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

Существует большое количество языков программирования, некоторые из которых предназначены для решения конкретных задач, а другие — более общего использования. Некоторые из них сложнее, чем другие, и их освоение требует больше усилий. Из всех них Python выделяется как современный, универсальный и адаптируемый язык для различных приложений. Python используется для создания множества платформ, как настольных компьютерах (Windows, Mac и Linux), также на телефонной технике (Windows) или некоторых моделях ESP.

С ним можно работать и в других приложениях или программах, где он может использоваться для автоматизации задач (например, при использовании программного обеспечения Freecad) либо выполнять сложные функции на основе сложных программ (например, игра Minecraft).

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

Понятие программы

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

Программа – это точная последовательность инструкций

Программа может быть игрой, которая работает на ПК, приложением для прослушивания музыки на телефоне или управления двигателями робота, построенного на Arduino, а также приложением, которое управляет работой стиральной машины или банкомата. Разнообразные устройства, работающие по заложенной в них программе, для простоты будем называть «программируемыми устройствами (ПУ)».

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

Рис. 1. Программа как рецепт

Языки программирования

Теперь, если мы хотим объяснить кому-то, как приготовить яблочный пирог, мы можем прочитать ему инструкции к рецепту, но как мы это сделаем с помощью программы?

Нет устройств (пока), которым мы могли бы объяснить, что делать, на естественном языке, на том же языке, которым пользуются люди. Мы не можем просто сказать ему: «Разрешить ввод с клавиатуры двух чисел, умножить их и отобразить результат».

Программируемые устройства, какими бы сложными и мощными они ни были, не понимают наш язык на таком уровне.
Все эти устройства состоят из электронных схем, которые работают только с двумя состояниями: пропускают или не пропускают ток, подобно переключателям, у которых есть только два состояния: открыто и закрыто.
Это позволяет связать эти два состояния с цифрами «1» и «0» («1» = ток проходит, «0» = ток не проходит) и что электронные схемы могут легко хранить числа, построенные только из этих двух цифр: двоичные числа.
Вот почему они называются «цифровыми схемами».

Рис. 2. Цифровые схемы работают с двоичными числами

Естественный язык этих устройств — двоичные числа, инструкции, выраженные последовательностями нулей и единиц, которые людям трудно запомнить. Мы будем называть этот язык «машинным языком».

Естественный язык цифровых устройств — машинный язык.

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

Рис. 3. Некоторые языки программирования

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

Язык программирования переводит инструкции на машинный язык.

Компиляторы и интерпретаторы

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

  1. Компиляция. Когда язык переводит все свои инструкции на машинный язык, сохраняет их в файле или памяти устройства, а затем выполняет их, он называется компилируемым языком, а такой метод перевода называется компиляцией программы.
  2. Интерпретация. Если перевод и выполнение производятся по инструкции за инструкцией, мы говорим, что программа интерпретируется, а язык называется интерпретатором.

Python

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

Язык развивался на протяжении многих лет, создавая разные версии с различными обновлениями. Последняя версия — 3.8.2 (на момент написания этой статьи), и ей дано общее название «Python 3», которое мы будем использовать.

Язык программирования Python был создан голландским разработчиком Гвидо ван Россумом, выпустившим первую общедоступную версию в 1991 г. Это проект свободного программного обеспечения, поддерживаемый некоммерческой организацией Python Software Foundation (PSF) и крупной международной сообщество разработчиков.

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

Вопреки распространенному мнению, имя программы не связано ни с каким-либо видом змей, а любовью ван Россума к программам английской комедийной группы «Монти Пайтон». Тем не менее, логотип языка состоит из двух змей-питонов.

Python-логотип

Программы, написанные на Python, называются скриптами и идентифицируются по расширению «.py». Python — интерпретируемый язык, т.е. интерпретатор берет каждую строку скрипта, анализирует ее на наличие ошибок, и в случае их отсутствия, переводит на машинный язык и выполняет. Затем он делает то же самое со следующей строкой, пока скрипт не завершится.

Python является кроссплатформенным, он был реализован в наиболее важных настольных операционных системах (Windows, Linux и Mac OS), а также в платах и микроконтроллерах, таких как Raspberry Pi и некоторых моделях процессоров Espressif (ESP). Существуют также версии Python для телефонов с операционной системой Android и iOS. Python включен в некоторые программы для автоматизации задач или выполнения некоторых сложных функций. Например, скрипты Python можно выполнять в Freecad или Minecraft.

Установка Python

Рассмотрим как установить Python, чтобы иметь возможность программировать.

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

Чтобы установить Python на Windows, нам сначала нужно скачать программу с официального сайта Python.

После загрузки запустите установщик и следуйте его инструкциям.

Скачать Python для Windows

Среда разработки

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

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

Среда разработки, или интегрированная среда разработки (IDE, Integrated Development Environment) — это программа, объединяющая функции, облегчающие задачу программирования.

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

IDLE

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

IDLE

Запустим IDLE, после чего появится окно с названием «Shell» или консоль, которая позволит выполнить несколько быстрых тестов (позже мы будем работать с консолью). Чтобы написать программу, нужно открыть окно редактирования, выбрав «Файл», а затем «Новый файл» или нажав Ctrl+N в консоли.
IDLE включает в себя основные функции, такие как раскраска синтаксиса (разные элементы программы Python отображаются разными цветами), автоматический отступ (добавляются «вкладки» для переноса текста), возможность поиска элементов во всех используемых окнах, поиск и замена, функции для проверки программы по инструкции и поиска ошибок и т. д.

Thonny

Еще одна среда разработки с большим количеством функций, чем у IDLE, но без потери простоты использования.

IDE Thonny

IDE Thonny

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

Python онлайн

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

Другие IDE

Существует множество других IDE, особенно более мощных и сложных, нацеленных на профессиональную работу, таких как PyDev, PyCharm , Spyder или Visual Studio.

Скачать Python для Windows

Переменные и типы данных

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

Переменные

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

В программе нам придётся работать со значениями, числовыми или текстовыми, которые могут меняться со временем. Самый яркий пример — счёт в игре: это числовое значение, которое увеличивается и уменьшается в зависимости от действий, которые мы совершаем во время игры. Иногда игры просят нас ввести своё имя в начале, чтобы затем обратиться к нам персонализированным образом. Текст с введённым именем — это ещё одно значение, используемое программой, на этот раз состоящее из букв. При вычислении электрических величин по закону Ома, мы в программе также будем использовать такие значения, как напряжение, ток и сопротивление.

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

Переменную можно сравнить с контейнером на кухне, в котором хранятся сахар, мука или кофе. Они хранят значения во время работы программы, также как контейнеры хранят продукты. В зависимости от того, что мы хотим хранить на кухне, это будет тип используемой тары. Для каждого вида продукта мы будем использовать соответствующий вид упаковки. Например, сахар мы будем хранить в пластиковом коробке, масло – в стеклянной бутылке, фрукты – в корзине. Т.е. для хранения разных значений (вида продукта) мы будем использовать переменную (контейнер) разных типов. В программе, мы используем переменные разных типов для хранения разных значений. Если мы собираемся хранить только числа, как в случае со счётом в игре, мы будем использовать переменную числового типа, а если нам необходимо сохранить текст, например, имя, мы будем использовать буквенно -цифровую переменную.

Существуют переменные разных типов, в зависимости от характера значений, которые мы хотим хранить. Продолжая сравнение, если у нас на кухне много контейнеров с разными элементами, нам нужно будет наклеить на них этикетки, которые напоминают нам, что они содержат, например, «Сахар», «Уксус» или «Кофе». В программировании это делается с помощью имён переменных, которые являются «метками», напоминающими нам, какое значение содержат эти переменные. Таким образом, например, если у нас есть переменная, в которой хранится счёт игры, мы должны дать ей имя «Points»(«Баллы») или «Score»(«Счёт»), чтобы легко запомнить, что у неё внутри.

Имена переменных в Python

В Python мы должны соблюдать несколько правил при именовании переменных: Они должны начинаться с буквы. Они могут содержать только буквы, цифры и символы подчёркивания. Итак, «Points» и «Player_Points» — правильные названия, а «1Point» или «Player Points» — нет. (Имя вроде "x" тоже подойдёт, но не рекомендуется давать переменной такое неописуемое имя, его имя должно напоминать нам о его содержимом). Давайте проведём несколько тестов с Python. Откроем IDLE и наберём в консоли (Shell) следующее: Имена переменных в Python Мы присвоили значения некоторым переменным. Когда мы это делаем, интерпретатор Python создаёт переменную и загружает её со значением, которое мы даём ей после знака «=». Как видно, первые два присваивания (Points=100 и Player_Points=0) не привели к ошибкам, в то время как после ввода двух других (1Point=100 и Player_Points=0) были выданы ошибки. Чтобы «увидеть» значение, хранящееся в переменной, с помощью консоли, мы просто вводим имя переменной и нажимаем ENTER. Немедленно появляется следующее значение: Отображение переменных Создадим переменную для хранения текста (текст может состоять из букв и цифр). В этом случае, когда мы присваиваем ему значение, оно должно начинаться и заканчиваться двойными кавычками (") или одинарными кавычками ('). Сохранение текста в переменной В следующем выпуске мы более подробно рассмотрим типы переменных Python.