Python Commenting Code

Comments are used to annotate, describe, or explain code that is complex or difficult to understand. Python will intentionally ignore comments when it compiles to bytecode by the interpreter. PEP 8 has a section dealing with comments.

Block and inline comments start with a #, followed by a space before the comment:

# This is a block comment.
print('Hello world!') # This is an inline commment.

Python does not include a formal way to write multiline comments. Each line of a comment spanning multiple lines should start with # and a space:

# This is the first line of a multiline comment.
# This is the second line.

Another type of comment is the docstring, documented in PEP 257. Docstrings are a specific type of comment that becomes the __doc__ attribute.

For a string literal to be a docstring, it must start and end with \"\"\" and be the first statement of the module, function, class, or method definition it is documenting:

class SomeClass():
    """Summary line for SomeClass.

    More elaborate descriptions may require using a
    a multiline docstring.

    def method_a(self):
        """Single line summary of method_a."""

String literals that start and end with """ that are not docstrings (not the first statement), can be used for multiline strings. They will not become __doc__ attributes. If they are not assigned to a variable, they will not generate bytecode. There is some discussion about using them as multiline comments found here.