Есть ли сочетания клавиш для форматирования в Python? - PullRequest
2 голосов
/ 29 сентября 2010

После того, как мы напишем код в Matlab, мы можем использовать ctrl+A+ctrl+I и ctrl+A+ctrl+J для форматирования нашего кода (комментарии, выравнивание циклов и т. Д.). Есть ли что-то подобное или какие-либо полезные сочетания клавиш в Python?

Кроме того, точно так же, как мы можем использовать стрелку вверх, чтобы скопировать нашу предыдущую историю окна команд в Matlab, возможно ли это или какое-нибудь сочетание клавиш сделать это в Python?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 29 сентября 2010

Python - это язык программирования, а не интегрированная среда разработки (IDE), поэтому он не имеет «горячих клавиш» и т.п.Каждая конкретная среда разработки может предлагать различные средства или тому подобное.Похоже, вы рассматриваете GNU Readline (обычно используемый в простой среде интерпретатора текстового режима, которая входит в состав многих исполняемых файлов Python) как «часть Python» - но это неправильное представление;readline - это совершенно общая библиотека для интерактивного ввода в средах командной строки, и Python - лишь одна из многих программ, использующих ее.Другая среда, обычно связанная с Python, - это IDLE, с графическим интерфейсом, и, конечно, средства редактирования полностью и радикально отличаются.Существует множество сторонних сред, таких как «Wing IDE», и каждая предлагает кардинально отличающийся набор функций и средств редактирования от всех остальных.

Подводя итог: ваш вопрос больше не имеет смысла в отношении Python как таковое, чем, скажем, о C, или Java, или о любых других языках программирования.Не позволяйте (обычно проприетарным) языкам программирования, поставляемым в комплекте с IDE, вводить вас в заблуждение по этому вопросу!

1 голос
/ 29 сентября 2010

Если вы используете Python IDLE (поставляется с Python для Windows, легко доступен для Linux и Unix), большая часть работы по форматированию сделана для вас.Например, IDLE автоматически делает отступ для циклов и любого другого блока кода после :.Это намного лучше, чем написание скриптов Python в стандартном текстовом редакторе, таком как gedit, emacs, vim или Notepad, тем более что вы можете просто нажать клавишу F5 для запуска скрипта.

Что касается предыдущих команд, то это самый большой недостатокоболочка Python заключается в том, что вы не можете нажать стрелку вверх, чтобы получить последнюю команду.Однако, если вы используете оболочку без графического интерфейса пользователя (в командной строке Windows или в терминале Unix это команда python), вы можете использовать команду возврата оболочки для получения последней команды.

1 голос
/ 29 сентября 2010

Если вы используете emacs, то

  1. вы можете нажать tab в любом месте строки, и она будет правильно делать отступ этой линии относительно предыдущей строки (при условии, что текущий блок продолжается).

  2. Вы можете пометить выделенные фрагменты текста и нажать Cc <</kbd> и Cc > , чтобы переместить блоки текста влево и правый.

Это те два, которые я фактически использую с любой регулярностью. Я уверен, что все, что может сделать любой другой редактор, тоже может сделать emacs;)

В целом форматирование кода Python для программы затруднительно, поскольку отступы сильно влияют на семантику.

рассмотреть

for i, item in enumerate(lst):
    if i % 2:
        sum += i * int(item)
    return sum

и

for i, item in enumerate(lst):
    if i % 2:
        sum += i * int(item)
return sum

Вы действительно хотите, чтобы ваш редактор решал, какой вы имеете в виду?

...