Python Multiline Comments Or How To Comment Multiple Lines

Python has several ways to comment multiple lines in Python. One option is to add # at the start of each line. PEP 8 and bigger part of the community prefers to comment out like:

# This is a comment
# with multiple lines

instead of:

"""
This is a comment
with multiple lines
"""

Multiline comments in Python can start with ''' and end with '''. Multiline comment is created simply by placing them inside triple-quoted strings: '''/""" and '''/""".

Both examples have valid syntax in Python.

How to comment out multiple lines in Python

In Python there is a special symbol for comments which is #. Some languages like Java have native support for multiline comments.

Python multiline comment would look like to:

# This
# is a
# multi-line
# comment

This is the default comment for most popular Python IDEs like PyCharm, Sublime, VS code.

Python multiline comments and docstrings

Guido van Rossum (the Python creator, Python BDFL) tweeted once a "pro tip" for Python multiline comments:

@BSUCSClub Python tip: You can use multi-line strings as multi-line comments. Unless used as docstrings, they generate no code! :-)

According to this tip you can do comments in this way:

"""line1
line2
line3"""

'''line1
line2
line3'''

What is a docstring? The first statement in a class, method, function or module definition which is a string is called a docstring. Example:

def is_palindrome(word):
    """Check if word is a palindrome."""
    str(word) == str(word)[::-1]

Note 1: Even if a docstring contains only one line, triple quotes should be used because it's easier to expand it in future.

Note 2: For one liners it is recommended the quotes to be on the same line as the comment.

Multiline docstrings example

Descriptive multiline docstrings help for understanding and maintaining the code. Here you can find an example for such:

def complex(real=0.0, imag=0.0):
    """Form a complex number.

    Keyword arguments:
    real -- the real part (default 0.0)
    imag -- the imaginary part (default 0.0)
    """
    if imag == 0.0 and real == 0.0:
        return complex_zero
    ...

Many projects and organizations are using this kind of comments when they want to have good documentation.

The example image below multiline commend and docstring:

Shortcuts to comment multiple lines in Python and most popular IDEs

For commenting several lines in most popular IDEs you can use next shortcuts.

First you need to select the lines and then press:

  • Pycharm - CTRL + / - comment / uncomment
  • Eclipse - CTRL + /- comment / uncomment
  • Sublime - CTRL + /- comment / uncomment
  • Atom - CTRL + /- comment / uncomment
  • IDLE - CTRL + ALT + 3 - comment, CTRL + ALT + 4 - uncomment
  • Notepad++ - CTRL + Q - comment / uncomment
  • vim - CTRL + Q / kbd>CTRL + V - comment / uncomment
  • VS Code - CTRL + / - comment / uncomment

Note: If you like to add a multiline docstring than you can use different combination:

  • Pycharm - Alt + Enter inside the function and select Insert documentation string stub
  • VS Code - Alt + Shift + A - comment / uncomment

PyCharm comment multiple lines

Pycharm comment shortcut

The shortcut to comment multiple lines in Python and PyCharm are:

  • Windows or Linux: Ctrl + /
  • Mac OS: Command + /

Pycharm comment out multiple lines

To comment several lines of code in the Pycharm follow next steps:

  • Select the code lines
  • Menu
  • Code
  • Comment with Line Comment
    • Windows or Linux: Ctrl + /
    • Mac OS: Command + /

result:

# time.sleep(50 / 1000)           # 50 ms
# time.sleep(5)                   # 5 secs
# time.sleep(60)                  # 1 min

Pycharm uncomment multiple lines

To uncomment commented lines in PyCharm you can do it by the same steps as commenting:

  • Select the code lines
  • Menu
  • Code
  • Comment with Line Comment
    • Windows or Linux: Ctrl + /
    • Mac OS: Command + /

result:

time.sleep(50 / 1000)           # 50 ms
time.sleep(5)                   # 5 secs
time.sleep(60)                  # 1 min

Note: If you try to comment mixed lines code and comments then

  • the first press Ctrl + / will comment all lines (adding the second comment symbol # # in front of the commented lines)
  • the second one Ctrl + / will uncomment all lines (only the first comment sign)

Before

# time.sleep(50 / 1000)           # 50 ms
# time.sleep(5)                   # 5 secs
time.sleep(60)                  # 1 min
time.sleep(60 * 60)             # 1 hour

After

# time.sleep(50 / 1000)           # 50 ms
# # time.sleep(5)                   # 5 secs
# time.sleep(60)                  # 1 min
# time.sleep(60 * 60)             # 1 hour

Python remove all comments from a project with regex finders

You can delete all Python comments from your Python project by(in Pycharm):

  • open replace Ctrl + R
  • check regex
  • use
    • single line comment
.*#.*\n
* doc string line comment
""".*"""
* doc string with new lines inside
([^\(\.]"""[^\(]*)"""
  • replace all with nothing

Demonstration:

remove Python multiline comment.

Finally you can watch video for Python comments in PyCharm:
How to remove/fold all python(java) comments in PyCharm/IntelliJ

Reference