Подтвердить что ты не робот

Режим ячейки в редакторах Python

В последних версиях 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, которые поддерживают подобную функцию?

EDIT: Я только что обнаружил, что Spyderlib поддерживает выполнение "блока" (регионы кода, разделенные пробелом строки) с F9, но, как упоминает этот поток, эта функция по-прежнему не очень надежна (в частности, в сочетании с циклами).

4b9b3361

Ответ 1

Интерактивный редактор для Python IEP имеет нотацию ячейки в стиле Matlab для обозначения разделов кода (путем запуска строки с помощью # ## '), а ярлык по умолчанию также Ctrl + Enter:

## 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')

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

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