# Code Style. Python

> **TL;DR**
> `File | Settings | Editor | Code Style | Python` for Windows and Linux
>
>
>
> `CLion | Settings | Editor | Code Style | Python` for macOS
>
>
>
> `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `⌘ Comma` (Xcode), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (ReSharper), `⌘ Comma` (ReSharper (macOS)), `Ctrl+Alt+S` (QtCreator), `⌘ Comma` (QtCreator (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) ![the Settings icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.general.settings.svg)

Use this page to configure  [code style](configuring-code-style.html) options for Python files. When you change these settings, the Preview pane shows how this will affect your code.

> **Tip:**
> * When a piece of code is selected in the editor, CLion suggests the quick-fix Adjust code style settings.
>
> * You can change the maximum line length for Python sources in Code Style | Python | Wrapping and Braces | Right margin of the editor settings.

## Tabs and Indents

| Item | Description |
| --- | --- |
|  Use tab character |    Use the `Tab` (Windows), `⇥` (macOS), `⇥` (IntelliJ IDEA Classic (macOS)), `⇥` (macOS System Shortcuts), `Tab` (XWin), `Tab` (GNOME), `Tab` (KDE), `Tab` (Emacs), `Tab` (Sublime Text), `⇥` (Sublime Text (macOS)), `⇥` (Xcode), `Tab` (Visual Studio), `⇥` (Visual Studio (macOS)), `Tab` (ReSharper), `⇥` (ReSharper (macOS)), `Tab` (QtCreator), `⇥` (QtCreator (macOS)), `Tab` (NetBeans), `Tab` (Eclipse), `⇥` (Eclipse (macOS)) key for indentation. When the checkbox is cleared, CLion uses spaces instead of tabs.      |
|  Smart tabs  |      * If this checkbox is selected, the indentation for nested code blocks will use tabs and spaces as needed, while alignment indentation will use only spaces.    * If this checkbox is cleared, only tabs are used. This means that a group of spaces that fits the specified tab size is automatically replaced with a tab, which may result in breaking fine alignment.     The Smart tabs checkbox is available if the Use tab character option is enabled.      |
|  Tab size  | In this field, specify the number of spaces included in a tab.  |
|  Indent  | In this field, specify the number of spaces to be inserted for each indent level.   |
|  Continuation indent  |      Specify the indentation for lines that continue from the previous line, making it clear that they are part of the same statement or block of code. Continuation indents are used when a single statement is too long to fit on one line.      |
|  Keep indents on empty lines  | If this checkbox is selected, CLion will keep indents on the empty lines as if they contained some code.     If this checkbox is cleared, CLion will delete the tab characters and spaces.     |

## Spaces

Use this tab to specify where you want spaces in your code. To have CLion automatically insert a space at a location, select the checkbox next to this location in the list. The results are displayed in the preview pane.

## Wrapping and Braces

In this tab, customize the code style options, which CLion will apply on [reformatting the source code](reformat-and-rearrange-code.html). The left-hand pane contains the list of exceptions (  Keep when reformatting  ), and placement and alignment options for the various code constructs (lists, statements, operations, annotations, and so on). The right-hand pane shows the preview.

Alignment takes precedence over indentation options.

### Visual guides

Use the  Visual guides  field to specify multiple right margins. You can leave a default value or enter the number of spaces for your margin. If you want to specify several margins, enter numbers separated by comma.

### Keep when reformatting

Use the checkboxes to configure exceptions that CLion will make when reformatting the source code. For example, by default, the Line breaks checkbox is selected. If your code contains lines that are shorter than a standard convention, you can convert them by disabling the Line breaks checkbox before you [reformat the source code](reformat-and-rearrange-code.html).

### Ensure right margin is not exceeded

If this checkbox is selected, the formatter will do its best to avoid having document lines exceeding the right margin. This option takes precedence over the Do not wrap wrapping style.

### Force new line after colon

Use the checkboxes to add a new line after the colon in single-clause and multi-clause statements.

### Hang closing brackets

Select this checkbox to make the closing bracket indented. This option is disabled by default.

### Alignment options

| Item | Description |
| --- | --- |
| Align when multiline | If this checkbox is selected, a code construct starts at the same column on each next line. Otherwise, the position of a code construct is determined by the current indentation level.  |
| Place `<character>`  on new line | Use this checkbox to have the corresponding statements or characters moved to the next line. |
| New line after `<character>`  | Select this checkbox to have the code after the specified character moved to a new line. |
| Force parentheses if multiline | Select this option to have braces introduced automatically if a statement occupies more than one line. |
| Force trailing comma if multiline | Select this option to add a comma automatically, if a statement occupies more than one line. |
| Use continuation indent | Select this option to indent wrapped elements of a multiline construct (for example, function arguments or items of a collection literal) by the Continuation indent value defined on the Tabs and Indents tab. Otherwise, the regular Indent value is used. |

## Blank lines

Use this tab to define where and how many blank lines you want CLion to retain and insert in your code after reformatting. For each type of location, specify the number of blank lines to be inserted. The results are displayed in the preview pane.

| Item | Description |
| --- | --- |
|   Keep maximum blank lines   | In this area, specify the number of blank lines to be kept after reformatting in the specified locations. |
|   Minimum blank lines   |    In this area, specify the number of blank lines to be present in the specified locations.      > **Warning:** > These settings do not influence the number of blank lines before the first and after the last item.    |

## Imports

This table lists actions to be performed when imports are optimized.

| Item | Description |
| --- | --- |

## Other

| Item | Description |
| --- | --- |
| Dict alignment |    From the drop-down list, select the type of `dict` alignment:        * Do not align: the `dict`'s elements in sequential lines will be not aligned.    * Align on colon: the `dict`'s elements in sequential lines will be aligned against the colon.    * Align on value: the `dict`'s elements in sequential lines will be aligned against the value.    |
| Add line feed at the end of file | Select this checkbox to add line feed character at the end of file. |
| Use continuation indent for | Select the Method call argument checkbox to use continuation indent for a list of arguments and the Collections and comprehensions checkbox for multi-line collection literals and comprehensions. By default, the Method declaration parameters is selected, so that parameters within a method be indented using the continuation indent value. The value of the continuation indent is defined in the Tabs and Indents tab. If these checkboxes are not selected, then the indent value is used. |

## Set from...

Click this link to reveal the list of languages to be used as the base for the current language code style. Only the settings that are applicable to the current language are taken. All the other settings are not affected.

Click Reset to discard changes and return to the initial set of code style settings.

## See also

### Procedures

[Code formatting](reformat-and-rearrange-code.html) [Code style](configuring-code-style.html)

### Reference

[Code Style](settings-code-style.html)

