Skip to content
GitLab
  • Explore
  • Sign in
  • education
  • get
  • GET Students
  • Wiki
  • 1 gpio
  • Практика
  • Программирование

Программирование · Changes

Page history
Не работают пробелы в путях authored Jan 31, 2023 by Роман Макаров's avatar Роман Макаров
Hide whitespace changes
Inline Side-by-side
1-gpio/Практика/Программирование.md 0 → 100644
View page @ e940c650
## Программирование на Python в VS Code
Для выполнения второго и третьего заданий потребуется писать код на Python. Для этого нам понадобятся непосредственно интерпретатор Python и любой редактор кода.
Python предварительно загружен в ОС Raspberry Pi. Для работы с ним мы предлагаем использовать бесплатный кроссплатформенный редактор кода *Visual Studio Code*, который включает в себя отладчик (debugger, помогает искать ошибки в коде), инструменты для работы с *Git* (с ним мы скоро познакомимся), подсветку синтаксиса, технологию автодополнения (когда вы начинаете писать название, а программа вам подсказывает варианты продолжения) и средства для рефакторинга (переработки кода).
Мы установили на каждый компьютер *VS Code*, найти его можно во вкладке **Programming**, в которую вы попадаете из меню, нажав на значок «Малинки».
![IDE](images/VS-Code-under-Programming.jpeg)
Там же находятся другие предустановленные редакторы кода и 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
Clone repository
  • 1 gpio
    • Введение
    • Задание
    • Итог
    • Практика
      • Оборудование
      • Программирование
      • Терминал
    • Теория
      • GPIO
      • Raspberry Pi
      • Светодиод
  • 2 board
    • Введение
    • Задание
  • 3 git
    • git
    • Введение
  • _Sidebar
  • Home
View All Pages