|
|
|
## Программирование на Python в VS Code
|
|
|
|
|
|
|
|
Для выполнения второго и третьего заданий потребуется писать код на Python. Для этого нам понадобятся непосредственно интерпретатор Python и любой редактор кода.
|
|
|
|
|
|
|
|
Python предварительно загружен в ОС Raspberry Pi. Для работы с ним мы предлагаем использовать бесплатный кроссплатформенный редактор кода *Visual Studio Code*, который включает в себя отладчик (debugger, помогает искать ошибки в коде), инструменты для работы с *Git* (с ним мы скоро познакомимся), подсветку синтаксиса, технологию автодополнения (когда вы начинаете писать название, а программа вам подсказывает варианты продолжения) и средства для рефакторинга (переработки кода).
|
|
|
|
|
|
|
|
Мы установили на каждый компьютер *VS Code*, найти его можно во вкладке **Programming**, в которую вы попадаете из меню, нажав на значок «Малинки».
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Там же находятся другие предустановленные редакторы кода и IDE, например, *Thonny Python IDE* — интегрированная среда разработки для Python, предназначенная для начинающих, и *Geany* — еще одна среда разработки программного обеспечения, написанная с использованием библиотеки *GTK+*.
|
|
|
|
|
|
|
|
Сегодня вам потребуется научиться (или вспомнить, как)
|
|
|
|
|
|
|
|
- [ ] создавать скрипты,
|
|
|
|
- [ ] сохранять скрипты,
|
|
|
|
- [ ] запускать скрипты,
|
|
|
|
- [ ] импортировать модули (`time`, `RPi.GPIO`),
|
|
|
|
- [ ] вызывать методы из импортированных модулей,
|
|
|
|
- [ ] использовать горячие клавиши в процессе работы.
|
|
|
|
|
|
|
|
Давайте кратко рассмотрим каждый из пунктов. Все примеры буду рассматриваться в редакторе VS Code.
|
|
|
|
|
|
|
|
##### Создание скрипта
|
|
|
|
Есть несколько способов создать скрипт. Давайте рассмотрим два самых удобных для нас варианта:
|
|
|
|
1. Через проводник. Откройте проводник (нажмите на иконку с папочками), найдите папку Documents, нажмите правой кнопкой мыши на пустое место и выберите New File. В открывшемся окне введите желаемой название файла, через точку укажите расширение файла. Если вы хотите создать скрипт пайтон, то нужное расширение `.py`.
|
|
|
|
2. Через VS Code. Запустите VS Code, наверху найдите и кликните на File, выберите Open Folder (открыть папку). В открывшемся окне выберите директорию Documents. После того, как в VS Code откроется нужная папка, вы увидите ее имя слева в списке Open Editors. Там же есть иконка файл с плюсиком, кликните на нее, чтобы создать новый файл. Введите имя и нажмите Enter.
|
|
|
|
|
|
|
|
##### Сохранение скрипта
|
|
|
|
|
|
|
|
Сохранить скрипт можно через кнопку *File->Save* или с помощью комбинации клавиш <kbd>Ctrl</kbd> + <kbd>S</kbd>.
|
|
|
|
|
|
|
|
##### Запуск скрипта
|
|
|
|
|
|
|
|
Прежде чем запустить скрипт, убедитесь, что фаш файл нужного формата. В VS Code в правом нижнем углу указан тип открытого файла: если вы видите Plain Text, вместо Python, то нажмите на это слово и в открышемся меню найдите и выберите Python. Либо пересохраните файл, не забыв указать расширение через точку.
|
|
|
|
|
|
|
|
После этого найдите кнопку Run с иконкой зеленой стрелочки и нажмите на нее.
|
|
|
|
|
|
|
|
Продвинутые пользователи могут запускать скрипты через терминал по имени файла. Для этого нужно перейти в папку с файлом с помощью `cd Documents` и вызвать команду:
|
|
|
|
|
|
|
|
python my_script.py
|
|
|
|
|
|
|
|
Либо, не переходя в нужную директорию, указажите абсолютный путь вместо относительного.
|
|
|
|
|
|
|
|
##### Импорт модулей
|
|
|
|
Подключить модуль можно с помощью инструкции `import`. После ключевого слова `import` указывается название модуля. После импортирования модуля его название становится переменной, через которую можно получить доступ к атрибутам модуля.
|
|
|
|
|
|
|
|
```python
|
|
|
|
import math #это библиотека с математическими функциями
|
|
|
|
```
|
|
|
|
|
|
|
|
Если название модуля слишком длинное, или оно вам не нравится по каким-то другим причинам, то для него можно создать псевдоним с помощью ключевого слова `as`.
|
|
|
|
|
|
|
|
```python
|
|
|
|
import math as m
|
|
|
|
```
|
|
|
|
|
|
|
|
##### Вызов методов и атрибутов из импортированных модулей
|
|
|
|
|
|
|
|
Чтобы импортировать метод, необходимо сначала указать название модуля, откуда будет производиться импорт, затем поставить точку, после чего написать название функции и не забыть круглые скобки для аргументов.
|
|
|
|
```python
|
|
|
|
import time
|
|
|
|
current_time = time.time()
|
|
|
|
```
|
|
|
|
Здесь мы импортировали модуль `time`, у которого есть метод `time()`, возвращающий текущее время. Да, названия модулей и функций могут совпадать.
|
|
|
|
|
|
|
|
> :bulb: Чтобы не запутаться, можно импортировать только необходимые методы, тогда название модуля указывать будет не нужно.
|
|
|
|
|
|
|
|
```python
|
|
|
|
from time import time
|
|
|
|
current_time = time()
|
|
|
|
```
|
|
|
|
|
|
|
|
Атрибуты импортируются аналогично, но после их имен не нужно ставить круглые скобки, так как это не функции. Например, получим значение константы π и распечатаем значение с помощью встроенной функции `print()`.
|
|
|
|
|
|
|
|
```python
|
|
|
|
import math as m
|
|
|
|
print(m.pi)
|
|
|
|
```
|
|
|
|
Импортируем модуль RPi.GPIO под псевдонимом GPIO, чтобы было удобнее обращаться к его методам.
|
|
|
|
|
|
|
|
```python
|
|
|
|
import RPi.GPIO as GPIO
|
|
|
|
GPIO.setmode(GPIO.BCM)
|
|
|
|
```
|
|
|
|
В коде выше вызывается метод `setmode` из модуля GPIO для того, чтобы указать режим нумерации пинов, при этом аргументом функции выступает атрибут `BCM` из того же модуля.
|
|
|
|
|
|
|
|
##### Полезные комбинации клавиш
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>F5</kbd> - запустить исполнение скрипта
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>C</kbd> - прервать исполнение скрипта
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd> - скопировать
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd> - вставить
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>←</kbd> (<kbd>→</kbd>) - переместиться налево (направо) через слово
|
|
|
|
|
|
|
|
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>←</kbd> (<kbd>→</kbd>) - выделить предыдущее (следующее) слово
|
|
|
|
|
|
|
|
<kbd>Tab</kbd> - вызвать автодополнение |
|
|
|
\ No newline at end of file |