Режим ячейки в редакторах Python - PullRequest
18 голосов
/ 17 июля 2011

В последних версиях MATLAB можно выполнить кодовую область между двумя строками, начиная с %%, используя Ctrl-Enter. Такая область называется кодовой ячейкой и позволяет быстро тестировать и отлаживать код.

например.

%% This is the beginning of the 1st cell

a = 5;    

%% This is the end of the 1st cell and beginning of the 2nd cell

% This is just a comment
b = 6;

%% This is the end of the 2nd cell

Существуют ли редакторы Python, поддерживающие аналогичную функцию?

РЕДАКТИРОВАТЬ: Я только что обнаружил, что Spyderlib поддерживает "блочное" выполнение (области кода, разделенные пустыми строками) с F9, но, как этот поток упоминает эта функция все еще не очень надежна (в частности, в сочетании с циклами).

Ответы [ 6 ]

7 голосов
/ 18 июля 2011

Интерактивный редактор для Python IEP имеет нотацию в стиле Matlab для пометок фрагментов кода (начиная строку с '##') , и ярлык по умолчанию - также Ctrl + Введите :

## Cell one
"""
A cell is everything between two commands starting with '##'
"""
a = 3
b = 4
print('The answer is ' + str(a+b))

## Cell two

print('Hello World')
3 голосов
/ 11 мая 2017

Spyder3 определяет ячейку как весь код между строками, начинающийся с #%%.

Запустите ячейку с помощью Ctrl + Введите или запустите ячейку и перейдите с помощью Shift + Введите .

1 голос
/ 05 ноября 2014

Я написал плагин vim, в котором ячейки разделены ##.Он отправляет ячейки интерпретатору ipython, работающему в tmux.Вы можете определить сопоставления клавиш для выполнения текущей ячейки, выполнения текущей ячейки и перехода к следующей или выполнения текущей строки:

https://github.com/julienr/vim-cellmode

Недавно я начал работать над аналогичным плагином для Intellij PyCharm,Он может отправить ячейку либо на внутреннюю консоль python (у которой есть некоторые проблемы с графиками), либо на интерпретатор ipython, работающий в tmux:

https://github.com/julienr/pycharm-cellmode

1 голос
/ 17 ноября 2011

IDLE с IdleX поддерживает Matlab-подобные и Sage-подобные ячейки с использованием подкодов.Код между маркерами ## можно выполнить с помощью Ctrl + Return.Он также позволяет использовать маркеры с отступом для выполнения кода с отступом.

1 голос
/ 17 июля 2011

Pyscripter поддерживает выполнение блока.Но это только победа.И это ограничено, чтобы выбрать блок кода -> запустить его (Ctrl + F7).Нет понятия клеток.

0 голосов
/ 17 июля 2011

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

В блокноте sage вы пишете команды python внутри блоков, которые очень похожи на ячейку matlab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...