Python allows you to enhance your code with several comments for different purposes. The most common ones include single-line comments, which start with a hash symbol (#
), allowing you to add short explanations right next to a line of code. Multi-line comments are achieved using triple quotes (''
'
or """
), which helps describe larger chunks of code. Lastly, docstrings, enclosed in triple quotes, are designed to document functions, classes, and modules, providing a structured way to explain their behavior and usage.
Table of Contents | |
Single-Line Comments
Adding explanations to your Python code with single-line comments is easy. These comments start with the hash symbol (#
), and the computer won’t run anything you write after it on the same line.
- The hash symbol (
#
) is the key – remember it! - The comment text can explain what the code is doing.
Example
# This variable stores the user's name
name = "Alice"
print("Hello,", name)
Code Explanation
- Line 1: A comment explaining the purpose of the variable
name
. - Line 2: Creates a variable named
name
and assigns the value “Alice”. - Line 3: Prints a greeting using the
name
variable.
Multi-Line Comments
Unlike other languages, Python has no dedicated way to create multi-line comments. But there’s a clever trick! You can use triple quotes (either single or double) to create a block comment that spans multiple lines.
- Wrap your comment between three single quotes (
'''
) or three double quotes ("""
). - Python ignores everything inside these quotes, allowing you to write explanations over several lines.
Example
"""
This function calculates the area of a rectangle.
It takes the width and height as arguments and returns the calculated area.
"""
def calculate_area(width, height):
area = width * height
return area
Code Explanation
- Line 1-4: A multi-line comment explaining the purpose and functionality of the
calculate_area
function. - Line 6: Defines the function with its name (
calculate_area
), parameters (width
andheight
), and a colon (:
).
Triple Single Quotes Example
Triple single quotes ('''
) are another way to create multi-line strings in Python. While they function similarly to triple-double quotes ("""
), they offer a specific advantage when you want to include double quotes within your string without needing to escape them.
- Enclose your multi-line text between three single quotes (
'''
). - This allows you to write text with double quotes without backslashes
()
.
Example
message = '''This is a message with "double quotes" inside
and it won't cause any errors!'''
print(message)
Code Explanation
- Lines 1-2: Assigns a multi-line string to the variable
message
using triple single quotes. - Notice the double quotes within the string “This is a message with “double quotes” inside”.
- Line 4: Prints the content of the
message
variable. In this case, it will display the entire string, including the double quotes, exactly as written.
Triple Double Quotes Example
Triple double quotes ("""
), also known as triple quotes, are a powerful tool in Python for creating multi-line strings and docstrings.
- Enclose your multi-line text between three double quotes (
"""
). - This allows you to write text across multiple lines and include special characters like newlines (
\n
) without issues.
Example
poem = """Twinkle, twinkle, little star,
How I wonder what you are!
Up above the world so high,
Like a diamond in the sky.
"""
print(poem)
Code Explanation
- Line 1-5: Assigns a multi-line string containing a poem to the variable
poem
using triple-double quotes.- Notice how the poem spans across multiple lines within the quotes.
- Line 7: Prints the content of the
poem
variable, displaying the entire poem with its proper line breaks.
Docstrings
Python offers special docstring comments to add comprehensive documentation directly within your code. These comments, typically written using triple double quotes ("""
), provide a way to explain a function, class, or module’s purpose, usage, and even details like arguments and return values.
- Docstrings are enclosed between triple double quotes (
"""
). - They appear below the definition of a function, class, or module.
- Good practice involves following a clear structure to enhance readability.
Example
def greet(name):
"""
This function greets the user by name.
Args:
name: The name of the person to greet (str).
Returns:
A string containing the greeting message.
"""
message = "Hello, " + name + "!"
return message
print(greet("Alice"))
Code Explanation
- Line 1: Defines a function named
greet
that takes a parametername
. - Lines 2-10 are the docstring explaining the function’s purpose (greeting someone), what it takes (
name
as a string), and what it returns (a greeting message). - Lines 11-14 create a message string and then call the
greet
function with “Alice” as the argument.
Effective Commenting Strategies
Python provides a rich commenting system to enhance code readability and maintainability. These comments can be broadly categorized into several distinct types, each serving a specific purpose. Understanding these different types of comments and using them effectively is essential for writing clean, well-structured, and collaborative Python code.
Explanatory Comments
Effective comments in Python go beyond just mentioning what the code does. Descriptive comments aim to explain the “why” behind the code’s logic, making it easier to understand the reasoning and intent.
- Focus on explaining the purpose and thought process behind the code.
- Use clear and concise language for better readability.
Example
# Check if the user input is a valid integer between 1 and 10
user_input = int(input("Enter a number between 1 and 10: "))
if 1 <= user_input <= 10:
print("Valid input!")
else:
print("Please enter a number between 1 and 10.")
Code Explanation
- Line 1: The comment clarifies the purpose of the input validation (# Check if the user input is a valid integer between 1 and 10).
- Line 2: Prompts the user for input and converts it to an integer.
- Lines 3-6: Use an
if
statement to check if the input (user_input
) is within the specified range (1 to 10).
Inline Comments
Unlike some other languages, Python doesn't have a dedicated way to write comments directly within a line of code. However, following the actual code, you can achieve a similar effect using short comments at the end of a line. These comments, often called inline comments, help add brief explanations or reminders next to the code they relate to.
- Inline comments typically start with a hash symbol (
#
) followed by a space. - The comment text explains the code on the same line.
Example
name = "Bob" # Assign the name "Bob"
greeting = "Hello, " + name # Create a greeting message
print(greeting) # Print the greeting
Code Explanation
- Line 1: Assigns the string "Bob" to the variable
name
. - An inline comment (# Assign the name "Bob") clarifies the purpose of this line.
- Line 2: Concatenates "Hello, " with the value of
name
and stores it ingreeting
. An inline comment explains this step. - Line 3: Prints the content of
greeting
, and another inline comment clarifies this action.
Documenting Functions and Methods
In Python, functions and methods, essentially reusable code blocks, can be enriched with comments to improve readability and understanding. These comments, typically docstrings, provide valuable information about the function's purpose, usage, and even details like accepted arguments and returned values.
- Docstrings are written using triple-double quotes (
"""
), placed right below the function definition. - They follow a clear structure to enhance readability, often including a summary, parameters, and return values.
Example
def calculate_area(width, height):
"""
This function calculates the area of a rectangle.
Args:
width: The width of the rectangle (float).
height: The height of the rectangle (float).
Returns:
The calculated area of the rectangle (float).
"""
area = width * height
return area
# Example usage:
rectangle_area = calculate_area(5.5, 3.2)
print(f"The area of the rectangle is {rectangle_area:.2f}")
Code Explanation
- Line 1: Defines a function named
calculate_area
that takes two arguments,width
andheight
. - Lines 2-11: Are the docstring explaining the function's purpose (area calculation), the parameters it accepts (width and height as floats), and what it returns (the area as a float).
- Line 16: Demonstrate how to call the function with specific values and store the result in
rectangle_area
. - Line 17: Prints the calculated area with two decimal places.
Commenting Classes
Classes in Python, such as blueprints for creating objects, benefit from clear comments like functions. These comments, often also written as docstrings, provide a high-level overview of the class's purpose, its functionalities (methods), and sometimes even how to use it.
- Docstrings for classes are similar to functions and use triple-double quotes (
"""
). - They are placed right below the class definition line.
Example
class Point:
"""
This class represents a point in two-dimensional space.
Attributes:
x: The x-coordinate of the point (float).
y: The y-coordinate of the point (float).
"""
def __init__(self, x, y):
"""
Initializes a new Point object.
Args:
x: The x-coordinate of the point (float).
y: The y-coordinate of the point (float).
"""
self.x = x
self.y = y
# ... other methods of the Point class
# Example usage:
point1 = Point(3.1, 4.2)
print(f"Point coordinates: ({point1.x}, {point1.y})")
Code Explanation
- Line 1: Defines a class named
Point
. - Lines 2-8: Are the docstring explaining the class's purpose (representing a 2D point) and its attributes (
x
andy
coordinates). - Lines 10-19: Define a special method called
__init__
, which initializes a newPoint
object. It takes two arguments (x
andy
) for the coordinates. - Lines 24-25: Show an example of creating a
Point
object and then printing its coordinates using thex
andy
attributes.