How to Comment in Python – A Quick Guide for Beginners

by | Python

Comments are an essential part of any programming language, including Python. They help you and other developers understand the logic and functionality of your code. When you add comments to your Python code, it not only helps you explain your code but also enhances its readability, quality, and maintainability.

How to Comment in Python

In this Python tutorial, we will explore how to write a single line comment, multi line comments, and multiline strings. We’ll delve into a detailed overview of using comments in your Python program, understanding different types of Python comments, and various use cases for each comment type. This will include examples demonstrating how to write good comments, add inline comments, and avoid writing poorly written code.

Let’s get into it.

What Are Single-Line Comments?

In Python programming, a single line comment is created using the hash character (#) at the beginning of a line. Any text that follows the hash symbol on the same line is treated as a single line comment, and the Python interpreter will not execute it.

There are two primary purposes for using single line comments in Python code:

  1. Providing a brief explanation or one-line summary of the specific Python code segment, offering insight into the function or purpose of the code.

  2. Temporarily disabling a single line of code from being executed, which is helpful during debugging or testing, without permanently removing the code from your script.

The following is an example of how to write comments to explain Python code in a single line:

Single Line Comments to explain Python code

In this example, each single line comment offers explanations for each code line, making it easier for you and other developers to understand the purpose of the code.

The Python code below demonstrates how to write comments to prevent a single line of code from being executed:

Using Comments in Python to prevent certain lines of code from running

In the example above, the console print statement with string literals, intended for debugging purposes, has been commented out to prevent its execution when the code is run. The single line comment ensures that the Python interpreter treats the line as a comment, rather than a piece of code.

Commenting out specific lines of code can be beneficial when you are debugging and resolving errors.

Adopting the habit of writing clear, concise, and relevant single line comments is good practice, as it helps to focus on explaining particular aspects of your code. By crafting well-written comments, you significantly enhance the readability and maintainability of your Python programs, making it easier for others to understand and work with your code.

What Are Multi-Line Comments?

Python multiline comments are beneficial when providing more extensive explanations or notes regarding specific code sections. They also come in handy when you need to temporarily disable multiple lines of code during debugging or development without having to comment out each line individually.

There are two methods for creating multiline comments in Python:

  1. Using Triple Quote

  2. Using a Hash Symbol with continuation

Using Triple Quotes

One way to create multi-line comments in Python is by using triple quotes, which consist of three consecutive single or double quotation marks.

When a block of text is enclosed within triple quotes, Python interprets it as a string and disregards it if it is not assigned to a variable.

This technique allows you to write Python multi-line comments or multi-line strings that span across several lines, enhancing the readability of your code.

The following code helps explain using triple quotes for a multi line comment block in Python code:

'''
This is a multi-line comment
in Python using triple quotes.
'''
print("Hello World!")
Using Triple Quotes to Comment Multiple Lines of Python Code

The above code will only output “Hello World!” as the triple-quoted multiline string is ignored by the interpreter.

Using a Hash Symbol with Line Continuation

Another approach for creating multiline comments in Python involves using hash symbols (#) at the beginning of each line, along with line continuation characters () to maintain readability.

The following is an example of how to write multi line comments in Python:

# This is a multi-line comment in Python
# using hash symbols with line continuation.
# It spans multiple lines, but each line requires a hash symbol.
print("Hello World!")
Using Hash Symbol with Line Continutation to Comment Multiple Lines of Python Code

In the above example, only “Hello World!” will be output as well, as lines starting with a hash symbol are treated as multiline comment by the interpreter.

What Are Inline Comments?

Inline comments in Python allow you to provide context or explanations for specific code lines. These types of comments are placed on the same line as the code statement, separated by a hash mark (#).

The following is an example of inline comment in Python:

x = 10  # This variable stores the value 10
y = x * 2  # Multiply x by 2 to get the value of y
print(y)  # Output the value of y
Inline Comments to explain Python code

Inline comments should be used sparingly and only when needed to explain a specific line of code. If your code requires extensive inline commenting, consider making the code itself clearer and more self-explanatory by using more descriptive variable or function names.

What are Docstrings?

Docstrings serve as a valuable tool for documenting your code effectively. They assist both you and other developers in comprehending how your code functions and its intended purpose.

By incorporating docstrings into your Python programs, you can create clear, concise, and helpful explanations that greatly improve the readability and maintainability of your code.

This practice fosters better collaboration and communication among developers, ultimately enhancing the quality of the software you create.

There are three types of docstrings in Python, all with the same syntax but different use cases:

  1. Function and Method Docstrings

  2. Class Docstrings

  3. Class Docstrings

Function and Method Docstrings

Function and method docstrings describe the purpose, arguments, return values, and side effects of a function or method.

The following is an example of function and method docstrings:

def add(a, b):
    """Add two numbers and return the result."""
    return a + b
Function and Method Docstrings to explain the purpose and return values of a function

This docstring should always provide a concise yet informative description of the function.

Class Docstrings

Class docstrings explain the purpose and behavior of a class in Python.

The following is an example of using class docstrings to explain the purpose and behavior of a class in Python.

class MyClass:
    """A simple class to demonstrate docstrings."""
    
    def __init__(self, x):
        self.x = x
Class docstrings to explain the purpose and behavious of Python class

The docstring should provide an overview of the class’s functionality, any important attributes or properties it may have, and how it interacts with other classes or functions within your program.

Module Docstrings

Module docstrings should be placed at the beginning of your Python modules or module files, offering a comprehensive overview of the module’s purpose and its contents.

By including a well-written module docstring, you enable developers to swiftly ascertain how your module fits into the overall architecture of your project and the specific functionalities it delivers.

This practice not only enhances the readability and maintainability of your code but also fosters improved collaboration and understanding among team members working on the same project.

The following is an example of using module docstrings to associate documentation with Python files:

"""
geometry.py

This module contains functions to calculate the area of various geometric shapes,
such as rectangles, circles, and triangles. The main functions provided are:

- rectangle_area(width, height)
- circle_area(radius)
- triangle_area(base, height)

Each function takes the respective dimensions as input and returns the calculated area.
"""

def rectangle_area(width, height):
    return width * height

def circle_area(radius):
    import math
    return math.pi * (radius ** 2)

def triangle_area(base, height):
    return 0.5 * base * height

# Rest of the code...

The module’s primary features and any important variables, classes, or functions it includes.

Best Practices for Writing Comments

Ok, so now you have a good idea about the different types of comments in Python and how to use them, let’s look at some best practices to keep a high standard of work.

Clarity and Conciseness

When writing comments in Python, it’s essential to strike a balance between clarity and conciseness. Aim to express your thoughts in a manner that facilitates easy comprehension while ensuring that comments remain brief and informative.

Refrain from including unnecessary information to prevent comments from becoming excessively lengthy and challenging to maintain, which can ultimately lead to confusion.

A well-crafted comment should effortlessly integrate with your code, augmenting readability and maintainability.

Avoiding Obvious Comments

It’s important to avoid obvious descriptions when writing any comments in Python. Rather than simply restating or duplicating what the code does, concentrate on offering insights that may not be readily apparent from the code itself.

This applies to writing a single line comment and also to multiline comments too.

To illustrate this, consider the following example, which contrasts an obvious comment with a more helpful alternative:

# Bad comment
x = x + 1  # Increment x by 1

# Good comment
x = x + 1  # Adjust x to account for the new user added

Updating Comments as Code Changes

As code evolves, maintain updated Python comments. Outdated comments can mislead and cause confusion. When making significant alterations to your code, adjust the Python comments accordingly to preserve readability and comprehension.

Looking to deepen you Python knowledge, check out our extensive Python videos below.

Conclusion

Commenting your code offers multiple benefits, such as aiding understanding, maintenance, and serving as valuable documentation for collaborators.

To ensure effective commenting:

  1. Keep comments concise, relevant, and informative.

  2. Use a hash symbol (#) followed by a space for single line comments.

  3. Use quotation marks (“”””””) to write multiline comments

  4. Employ inline and block comments for context or explanations.

  5. Update comments as the code evolves to maintain readability.

  6. Practice writing thoughtful comments to enhance programming skills.

By consistently using well-crafted comments, you not only help yourself and others but also elevate your programming expertise.

Also, by paying attention to comment quality and incorporating valuable insights into your comments, you’ll become a more effective, organized, and professional coder, making it easier to collaborate with others and maintain your code in the long run.

author avatar
Sam McKay, CFA
Sam is Enterprise DNA's CEO & Founder. He helps individuals and organizations develop data driven cultures and create enterprise value by delivering business intelligence training and education.

Related Posts