горячие клавиши pycharm pep8 привести код
О некоторых горячих клавишах в PyCharm
Хочу поделиться с вами горячими клавишами, которыми пользуюсь или к которым пытаюсь привыкнуть в своей повседневной работе. В современных средах их количество может просто зашкаливать, но постепенное добавление новых сочетаний в копилку, способно значительно повысить вашу продуктивноть. Приведенные сочетания относятся к редактированию, навигации, рефакторингу и справедливы только для раскладки Default for XWin (Linux).
Ctrl+Alt+Left/Ctrl+Alt+Right
На одном из лидирующих позиций (в моем рейтинге) находится перемещение назад и вперед. Если кто-то пользовался emacs, то функционал напоминает marks and mark ring. При определенных командах перемещения по файлу в историю добавляются новые позиций, по которым и происходит перемещение.
Ctrl+Shift+Backspace
Перемещение к месту последней правки. В принципе, это частный случай предыдущей команды, но тем не менее полезный.
Ctrl+B
Многим известное перемещение к реализации.
Двойное нажатие Shift
Поиск по индексу, который включает в себя имена файлов, имена классов, их атрубиты и т.д. Также есть отдельные команды:
Ctrl+N — для классов, Ctrl+Shift+N — для файлов и Ctrl+Alt+Shift+N — для символов (функций, атрибутов классов).
Ctrl+Shit+2
Именованые метки для быстрого перемещения по «горячим» местам. Перемещение к метке — Ctrl+6.
Удаление метки — повторное нажатие Ctrl+Shift+9.
Ctrl+W
Выделение кода с учетом синтаксиса. Очень полезная фича.
Alt+Shift+Down/Alt+Shift+Up
Перемещение строки, на которой установлен курсор вверх или вниз. Есть аналогичная команда, но только для целых
statements — Ctrl+Shift+Down/Ctrl+Shift+Down.
Ctrl+Y
Удаление всей строки. Кстати, команда копирования Ctrl+C без выделения также работает для всей строки.
Ctrl+D
Продублировать текущую строку.
Ctrl+Alt+V
Вынесение выделенного выражения в переменную. Замечательно работает в сочетании с Ctrl+W. Также есть обратная команда для вставки выражения inline — Ctrl+Alt+N.
Ctrl+Shift+Delete
Вынести внутренние statements из внешнего блока (if, for, try). Обратите внимание на то, что происходит с except или else блоками. Также есть обратная команда для «обертывания» кода в блок — Ctrl+Alt+T.
Alt+Enter
При наведенном на регулярное выражение курсоре, вызывается контекстное меню, в котором есть опция проверки выражения на различные входные данные. Относительно недавно узнал об этой возможности — милая штука.
В дополнение хочу посоветовать замечательный инстумент Productivity Guide, который подсчитывает сколько раз вы использовали ту или иную фичу (неиспользуемые там также перечислены). Располагается это в Help->Productivity Guide.
На этом все. Оставляйте в комментариях горячие клавиши, которыми пользуетесь вы. Продуктивного кодинга!
PyCharm keyboard shortcuts
PyCharm has keyboard shortcuts for most of its commands related to editing, navigation, refactoring, debugging, and other tasks. Memorizing these hotkeys can help you stay more productive by keeping your hands on the keyboard.
If your keyboard does not have an English layout, PyCharm may not detect all of the shortcuts correctly.
The following table lists some of the most useful shortcuts to learn:
Quickly find any file, action, class, symbol, tool window, or setting in PyCharm, in your project, and in the current Git repository.
Find a command and execute it, open a tool window, or search for a setting.
Quick-fixes for highlighted errors and warnings, intention actions for improving and optimizing your code.
Jump to the next or previous highlighted error.
Select a recently opened file from the list.
Increase or decrease the scope of selection according to specific code constructs.
Comment out a line or block of code.
Show all places where a code element is used across your project.
Choose the right keymap
Enable function keys and check for possible conflicts with global OS shortcuts.
Use a predefined keymap
PyCharm automatically suggests a predefined keymap based on your environment. Make sure that it matches the OS you are using or select the one that matches shortcuts from another IDE or editor you are used to (for example, Emacs).
When consulting this page and other pages in PyCharm documentation, you can see keyboard shortcuts for the keymap that you use in the IDE — choose it using the selector at the top of a page.
You can modify a copy of any predefined keymap to assign your own shortcuts for commands that you use frequently.
Import custom keymap
If you have a customized keymap that you are used to, you can transfer it to your installation.
If your keymap stopped working after an update, it is likely that the keymap is not available by default in the new version of PyCharm. Find this keymap as a plugin and install it on the Plugins page as described in Manage plugins.
Print your keymap
If you prefer a hard copy, download the default PyCharm keymap reference and print it out as a card:
Learn shortcuts as you work
PyCharm provides several possibilities to learn shortcuts:
Find Action is the most important command that enables you to search for commands and settings across all menus and tools.
Press Ctrl+Shift+A and start typing to get a list of suggested actions. Then select the necessary action and press Enter to execute it.
Key Promoter X is a plugin that shows a popup notification with the corresponding keyboard shortcut whenever a command is executed using the mouse. It also suggests creating a shortcut for commands that are executed frequently.
To print a non-default or customized keymap, use the Keymap exporter plugin.
Use advanced features
You can further improve your productivity with the following useful features:
If there is a group of actions that you often use, create a quick list to access them using a custom shortcut. For example, you can try using the following predefined quick lists:
Refactor this Ctrl+Alt+Shift+T
VCS Operations Alt+`
When the focus is on a tool window with a tree, list, or table, start typing to see matching items.
Many actions in PyCharm provide more results when you execute them multiple times. For example, when you invoke basic code completion with Ctrl+Space on a part of a field, parameter, or variable declaration, it suggests names depending on the item type within the current scope. If you invoke it again, it will include classes available through module dependencies. When invoked for the third time in a row, the list of suggestions will include the whole project.
Resize tool windows
You can adjust the size of tool windows without a mouse:
To resize a vertical tool window, use Ctrl+Alt+Shift+Left and Ctrl+Alt+Shift+Right
To resize a horizontal tool window, use Ctrl+Alt+Shift+Up and Ctrl+Alt+Shift+Down
Русские Блоги
Конфигурация Pycharm autopep8: автоматическая настройка кода в стиле PEP8
О ПКП 8
PEP 8,Style Guide for Код Python, да Python официально запустил соглашения о кодировании, главным образом для обеспечения согласованности и улучшения стиля кодирования Python Читаемость кода.
Об Авто pep8
Auto pep8 автоматически Python код Отформатирован как инструмент, соответствующий стилю PEP 8. Он использует инструмент pycodestyle, чтобы определить Какие части кода должны быть Форматирование. автоматический pep8 может исправить большинство проблем с форматом, обнаруженных pycodestyle.
Загрузите и установите Autopep8
Использовать Autopep8
Командная строка используется следующим образом
Pycharm настроить метод Autopep8
2) Заполните следующие элементы конфигурации и нажмите «ОК», чтобы сохранить
Нажмите «Выходные фильтры», щелкните значок «плюс» в правой части всплывающего окна, чтобы добавить фильтр, в регулярное выражение, чтобы сопоставить выходные данные.
3) Используйте autopep8 для автоматического форматирования вашего кода Python
Первый способ:
Второй способ:
Отображать после форматирования
Используется в командной строке следующим образом:
Code Quality Assistance Tips and Tricks, or How to Make Your Code Look Pretty?
What this tutorial is about
Python programming is out of scope of this tutorial. To learn more about the Python language, please refer to the official website.
Before you start
You are working with PyCharm version 5.0 or later. If you still do not have PyCharm, download it from this page. To install PyCharm, follow the instructions, depending on your platform. Refer to the product documentation for details.
You have created a Python project ( File|New Project. ). Refer to the product documentation for details.
You have created two directories src and test_dir ( File|New or Alt+Insert ).
You have added Python files to the src and test_dir directories of your project( File|New or Alt+Insert ). To learn about creating files, refer to the section Populating Projects.
Highliting code style violations
(Refer to Code Completion page of the product documentation for details.)
Tuning the PEP8 inspections
Apply changes and close the dialog. Now let’s return to our source code.
Tracking PEP8 rules
Code inspections and their settings
Btw, look at the Inspections more attentively. If you have just opened this page, you see the default inspection profile with the default settings: it means that the inspections apply to all the sources of the current project.
Let’s try to customize this profile for two different scopes:
In the Test scope, the spelling errors should be marked as typos (green)
This is how it’s done.
Creating scopes
Repeat this process to create the Production scope.
Creating inspection profile with these scopes
Next, let’s create a copy of the default profile (though this profile is editable. just to be on the safe side):
and give it a new name, for example, MyProjectProfile. This new profile is a copy of the default one, and has the same set of inspections.
With this new profile selected, let’s locate the Spelling inspection and change it. To find the Spelling inspection (we’ve already done it before), just type spel in the search area.
What’s next? Click In All Scopes button and select the Test scope from the list; repeat same for the Production scope
In the scope «Test», the inspection severity is left as-is (a typo); however, the scope «Production» we’ll choose «Error» from the list of severities:
Mind the color code of inspections. They are shown black if unchanged. If they are blue, then it means that they have been changed.
Apply changes and close the dialog.
Highlighting errors
Besides coding style violations, PyCharm highlights the other errors too, depending on the selected profile.
Refer to the product documentation.
Generating source code
First, create an instance of a class:
Next, press Alt+Enter and choose the intention action Create class ‘Solver’ :
Great! PyCharm has stubbed out a class:
Next, let’s add a method to the class instance. To do that, type a dot after class instance, and then type the method name. This method does not yet exist, and PyCharm suggests to create one:
So, we’ve come to the source code like this:
Let’s surround a block of code with if construct. Select the statements to be completed, when d is non-negative, and press Ctrl+Alt+T (or choose Code | Surround with on the main menu):
Select if option from the suggestion list. As you see, PyCharm automatically adds if True: and indents the selected lines:
When you press Enter again, the caret rests at the indented position. Here you can type the exception expression, using PyCharm’s powerful automatic code completion:
Reformatting code
Let’s look again at our Solver.py file. Its right gutter shows yellow stripes. When you hover your mouse pointer over a stripe, PyCharm shows the description of the corresponding problem in the code:
The good news is that they are but warnings, and won’t affect the results. Bad news is they are too numerous to fix each one by one. Is it possible to make the source code nice and pretty without much fuss?
Note that you can define formatting rules yourself. To do that, open the code style settings, select language (in this case, Python), and make the necessary changes:
Adding documentation comments
OK, formatting is fixed now, but there are still some stripes left. The inevitable yellow light bulb shows the possibility to add a docstring comment:
Choose this suggestion and see the docstring comment for a certain parameter added:
Note that you have to select the checkbox Insert type placeholders in documentation comment strings in the Smart Keys page of the Editor settings:
There are several docstring formats, and the documentation comments are created in the format, which you have selected in the Python Integrated Tools page. If you so wish, you can change the docstring format to, say, Epytext or plain text.
Type hinting
The documentation comments can be used to define the expected types of parameters, return values, or local variables. Why do we need it all? For example, we’d like to keep under control the types of parameters we pass to the demo() method. To do that, let’s add the corresponding information to the documentation comment (By the way, mind code completion in the documentation comments!):
Next, when you look at the method invocation, you see that the wrong parameter is highlighted by the PyCharm’s inspection Type Checker :
Learn more about type hinting in the PyCharm documentation.
2.2. Практикум¶
2.2.1. Установка и настройка¶
В настоящем курсе используются Python 3.5, Geany 1.30, Atom 1.23 и PyCharm 2019, однако могут быть установлены и их более свежие версии.
2.2.1.1. Python¶
Для установки Python необходимо выполнить ряд действий в зависимости от ОС:
определить разрядность ОС (32- или 64-битная, инструкции для Windows, Mac OS X или Linux);
открыть страницу загрузки (общая) и загрузить соответствующий дистрибутив;
выполнить установку (при установке на ОС Windows необходимо установить флажок Add python.exe to PATH во время установки).
В дистрибутивах Linux с пакетным менеджером, удобнее использовать его команды, например:
После установки запустите терминал и убедитесь, что необходимая версия Python установлена.
2.2.1.1.1. Дополнительные пакеты¶
Задания, выполняемые на Python, должны проходить автоматическую проверку (валидацию) и соответствовать стандарту оформления PEP 8. Для поддержки этой возможности откройте терминал в папке с tests (в папке с заданиями) и выполните команду установки:
Запуск проверки отдельно для каждой IDE описан далее.
2.2.1.2. IDE¶
В рамках курса возможности Atom, Geany и PyCharm не отличаются, поэтому выбор остается за Вами: Atom и PyCharm являются более современными и популярными IDE, в то время как Geany обладает необходимыми возможностями и поддерживает русский язык в интерфейсе.
В курсе достаточно использовать одну из IDE.
2.2.1.2.1. Atom¶
Для установки необходимо перейти на официальный сайт Atom и загрузить предложенный дистрибутив.
Назначение / Что можно найти?
Все доступные команды IDE
Список открытых файлов
Дерево файлов проекта
Набор кода с подсветкой синтаксиса и прочими удобствами
Удобное отображение структуры файла
Информация о запуске программы, ошибках в стандарте оформления и т.д.
Информация о файле: кодировка, положение курсора в редакторе кода и т.д.
Некоторые из элементов главного окна отобразятся после дополнительной настройки.
2.2.1.2.1.1. Настройка отступов и пробелов¶
установлен флажок «Show Indent Guide»;
установлен флажок «Show Invisibles»;
установлен флажок «Soft Wrap».
2.2.1.2.1.2. Установка и настройка пакетов¶
Дополнительно необходимо установить следующие пакеты:
minimap: «мини-карта» документа;
linter-flake8: проверка на соответствие кода стандарту PEP 8;
autocomplete-python: интерактивная подсказка синтаксиса языка;
atom-python-run: запуск программы из редактора.
Установку дополнений можно произвести (1) из терминала или (2) в графическом интерфейсе.
Откройте терминал и введите команду:
В главном окне Atom:
для каждого пакета:
в текстовом поле Search packages введите имя пакета и нажмите для его поиска;
установите найденный пакет, нажав на кнопку Install; в случае дополнительных запросов на установку зависимых пакетов (dependencies) необходимо ответить Yes.
2.2.1.2.1.3. Автоматическая проверка заданий и PEP8¶
Установленные плагины позволяют автоматически выполнять проверку на соответствие кода стандарту PEP 8, отображая ошибки в окне сообщений.
После настройки используйте команды:
F5: запуск программы на выполнение;
F6: запуск автоматической проверки решенной задачи (см. пример: Цикл выполнения и защиты заданий ).
2.2.1.2.2. Geany¶
Для установки Geany необходимо выполнить следующие шаги в зависимости от операционной системы.
на официальном сайте Geany перейти в раздел Download/Releases, загрузить соответствующий дистрибутив ( geany-1.X_setup.exe или geany-1.X_osx.dmg ) и выполнить установку;
только для Windows(!): на официальном сайте плагинов Geany перейти в раздел Downloads, загрузить дистрибутив, соответствующий по версии установленной Geany ( geany-plugins-1.X_setup.exe ) и выполнить установку.
В дистрибутивах Linux с пакетным менеджером, удобнее использовать его команды, например:
Для других дистрибутивов:
на официальном сайте Geany перейти в раздел Download/Third Party Packages и выполнить инструкции для своего дистрибутива Linux;
на официальном сайте плагинов Geany перейти в раздел Installation и выполнить инструкции для своего дистрибутива Linux.
Назначение / Что можно найти?
Все доступные команды IDE
Быстрый доступ к командам работы с файлами, а также запуску программ
Список открытых файлов
Отображение идентификаторов программы, дерева файлов и т.д.
Набор кода с подсветкой синтаксиса и прочими удобствами
Удобное отображение структуры файла
Информация о запуске программы или о выполнении прочих команд
Информация о файле: кодировка, положение курсора в редакторе кода и т.д.
Некоторые из элементов главного окна отобразятся после дополнительной настройки.
2.2.1.2.2.1. Настройка отступов и пробелов¶
вкладка Редактор (Editor):
вкладка Возможности (Features):
установлен флажок «Новая строка убирает лишние пробелы» («Newline strips trailing spaces»);
поле «Маркер переключения комментариев» («Comment toggle marker») установлено в 1 пробел.
вкладка Отступы (Indentation):
снят флажок «Отступ при помощи клавиши Tab» («Tab key indents»).
вкладка Отображение (Display):
установлен флажок «Показывать индикаторы отступа» («Show indentation guides»);
установлен флажок «Показывать пробелы» («Show white space»).
вкладка Файлы (Files):
Сохранение файлов (Saving Files):
установлен флажок «Убирать лишние пробелы и табуляции» («Strip trailing spaces and tabs»);
установлен флажок «Заменять табуляции пробелами» («Replace tabs with space»).
2.2.1.2.2.2. Включение и настройка модулей¶
Overview: отображает «мини-карту» документа;
Авто-маркер (Auto-mark): подсвечивает текущее слово под курсором;
Дерево файлов (TreeBrowser): показывает дерево файлов на боковой панели слева;
Дополнения (Addons): маленькие удобства, например, панель задач, обрамление выделенного текста и т.д.
вкладка Дополнения (Addons):
установите флажок «Удалять пустые строки в конце файла при сохранении» («Strip trailing blank lines»).
2.2.1.2.2.3. Автоматическая проверка заданий и PEP8¶
После настройки используйте команды:
F5: запуск программы на выполнение;
PEP8 (или Lint) в меню Сборка: запуск проверки текущего файла на соответствие PEP8 с отображением возможных ошибок в окне сообщений красным цветом (данную проверку и устранение ошибок рекомендуется осуществлять регулярно);
Проверить в меню Сборка: запуск автоматической проверки решенной задачи (см. пример: Цикл выполнения и защиты заданий ).
2.2.1.2.3. PyCharm¶
Для установки необходимо перейти на официальный сайт PyCharm и загрузить предложенный дистрибутив (Community Edition).
Назначение / Что можно найти?
Все доступные команды IDE
Список открытых файлов
Дерево файлов проекта
Набор кода с подсветкой синтаксиса и прочими удобствами
Удобное отображение структуры файла
Интерактивная консоль запуска программы
Информация о файле: кодировка, положение курсора в редакторе кода и т.д.
2.2.1.2.3.1. Запуск и автоматическая проверка заданий и PEP8¶
PyCharm автоматически проверяет код на соответствие стандарту PEP 8, используя подчеркивание в редакторе кода (Рисунок 2.2.6).
Для быстрого запуска и проверки выполняемых заданий необходимо выполнить ряд настроек.
Для возможности запуска задания добавьте (через кнопку +) возможность запуска программы (Рисунок 2.2.8) и нажмите OK.
Для добавления сочетания клавиш:
выделите строку с командой;
вызовите контекстное меню и выберите пункт Add Keyboard Shortcut;
в случае предупреждения, что горячая клавиша уже занята, нажмите Remove (в дальнейшем сочетания можно будет сбросить к начальным настройкам при необходимости).
2.2.1.2.4. Сочетания клавиш¶
Некоторые полезные сочетания клавиш приведены в Таблице 2.2.4.
Запуск автоматической проверки
Дублирование текущей строки
2.2.1.2.5. Дополнительные советы¶
Использование кириллицы и пробелов
Старайтесь избегать использования кириллицы и пробелов при наименовании имен файлов и идентификаторов в программе.
Для вновь создаваемого файла IDE устанавливает кодировку в UTF-8, которая как раз требуется для файлов исходного кода Python, и указывает это в строке состояния. Если файл определяется в другой кодировке (такое бывает, например, если создать файл в блокноте ОС Windows), ее необходимо поменять, выполнив следующие действия:
Atom: щелкнуть в строке состояния на текущую кодировку файла и выбрать UTF-8,
PyCharm: щелкнуть в строке состояния на текущую кодировку файла и выбрать UTF-8
после чего сохранить файл.
Совмещение пробелов и знаков табуляции
Python не позволяет использовать одновременно пробелы и знаки табуляции в качестве разделителей, выдавая ошибку
Данную проблему можно решить, используя замену (Рисунок 2.2.11).
2.2.2. Написание программ¶
2.2.2.1. Python¶
Для запуска интерпретатора Python откройте терминал и введите команду python (или python3 ), после чего интерпретатор будет запущен и перейдет в интерактивный режим, ожидая ввода команд (Рисунок 2.2.12).
Введите в консоли по очереди команды, приведенные в Листинге 2.2.1. Комментарии вводить не обязательно. Один из возможных результатов выполнения приведен на Рисунке 2.2.14.
Даже если не знать синтаксис Python, благодаря его «простоте», можно понять, что происходит в программе.
2.2.2.2. IDE¶
В случае, когда программу требуется сохранить и периодически изменять, удобнее будет работать в IDE.
2.2.2.2.1. Atom¶
Для создания и запуска программы необходимо выполнить нескольких шагов:
Наберите текст программы из Листинга 2.2.1.
Для запуска программы нажмите клавишу F5.
Протестируйте работу программы, запустив ее несколько раз, введя различные входные данные.
Проверьте, исправьте возможные стилевые ошибки (до исчезания соответствующего окна сообщений) и сохраните окончательный вариант программы (Рисунок 2.2.15).
2.2.2.2.2. Geany¶
Для создания и запуска программы необходимо выполнить нескольких шагов:
Наберите текст программы из Листинга 2.2.1.
Для запуска программы нажмите клавишу F5 или кнопку Выполнить на панели инструментов.
Протестируйте работу программы, запустив ее несколько раз, введя различные входные данные.
2.2.2.2.3. PyCharm¶
PyCharm использует концепцию проектов, поэтому в первую очередь необходимо создать пустой проект, и, введя его название, нажать кнопку OK (Рисунок 2.2.17).
После открытия проекта необходимо выполнить нескольких шагов:
Выберите Python File и введите имя файла (например, ‘main.py’ ), после чего подтвердите создание нажатием кнопки OK.
Наберите текст программы из Листинга 2.2.1.
Для запуска программы нажмите клавишу F5.
Протестируйте работу программы, запустив ее несколько раз, введя различные входные данные.
Проверьте, исправьте возможные стилевые ошибки (до исчезания подчеркиваний в редакторе кода) и сохраните окончательный вариант программы (Рисунок 2.2.18).
2.2.2.2.4. Автоматическая проверка заданий¶
2.2.3. Получение справочной информации¶
Исчерпывающая документация по языку программирования Python находится на официальном сайте в разделе документации или в папке Doc (куда был установлен Python). Воспользуйтесь поиском, когда необходимо найти описание неизвестной функции или ознакомиться с ее поведением (Рисунок 2.2.19).
Еще одним (и возможно более простым) способом получения справочной информации является использование функции help() (Рисунок 2.2.20)
Используя заготовку, сохраните как:
desktop_python_terminal.png : скриншот рабочего стола с запущенным интерпретатором Python c указанием версии и набранной программой из Листинга 2.2.1;
desktop_ide_terminal.png : скриншот рабочего стола с запущенной IDE (с набранной программой из Листинга 2.2.1), а также терминала с результатом запуска;
task_02_02_01.py : файл с текстом программы из Листинга 2.2.1;