Макропрограммирование K3 в Python
Общие принципы
Команда macro в К3 может запускать два типа файлов – макропрограмму k3 (файл .mac) и макропрограмму на Python (файл .py). Расширение файла показывает системе, какой интерпретатор использовать.
Также в К3 есть возможность вставить блок кода на Python внутрь файла .mac. Для этого необходимо воспользоваться конструкцией
<?python … ?>
Для всех строчек кода внутри будет использоваться интерпретатор python
.
Библиотека, функции и команды. Ключевые слова
Для использования функционала К3 в программу на Python нужно импортировать специальную библиотеку Import k3
Все функции и команды K3 вызываются как функции из этой библиотеки с использованием трёх основных принципов:
- Имя функции совпадает с именем команды, но обязательно должно быть написано в нижнем регистре;
- Все аргументы или ключевые слова передаются в функцию в том же порядке, как и при обычном вызове в макропрограмме;
- В Python нет специального обозначения для возвращения результата работы команды (# в макропрограмме). Поскольку команды – это тоже функции в Python, они возвращают значение обычным образом.
Например, команда рисования линии, возвращающая ссылку на построенный объект
#line1 line 0 0 0 100 0 0 done
В python будет записываться как
line1 = k3.line(0, 0, 0, 100, 0, 0, k3.k_done)
k3.k_done
– это объект соответствующий ключевому слову done
. Все ключевые слова записываются для использования в Python таким образом: k3.k_<название>
, где <название>
— название ключевого слова.
Ключевое слово для интерактивного ввода (то, что в макропрограмме записывалось знаком двоеточия ( : ), в Python запишется как k3.k_interact
, например:
k3.line(0, 0, 0, k3.k_interact, k3.k_done)
построит линию от точки 0 до точки, введённой пользователем в интерактивном режиме.