This guide explains function docstrings and documentation conventions through a focused Python example. You will learn the behavior to expect, why it matters in a real program, and how to recognize the common mistakes before applying it in your own project.
What You Will Learn
A function docstring is a string literal placed first in a function body. It explains the function’s purpose, parameters, return value and important errors in a form documentation tools can inspect.
When and Why to Use It
The following example focuses on a practical use of Function Docstrings and Documentation Conventions.
Step-by-Step Example
def calculate_area(width, height):
"""Return a rectangle area from two nonnegative dimensions."""
if width < 0 or height < 0:
raise ValueError("Dimensions must be nonnegative")
return width * height
print(calculate_area.__doc__)
print(calculate_area(2, 7))
Understanding the Example
The docstring appears in __doc__, and the call returns 14. The description communicates the meaning of the inputs, not merely the multiplication syntax.
Expected Output
Return a rectangle area from two nonnegative dimensions.
14
Important Behavior and Edge Cases
Avoid misleading docstrings and copying outdated explanations between functions; update documentation when behavior changes.
Try It Yourself
Document a conversion function and include what happens if the input is invalid.
Common Beginner Mistakes
- Avoid misleading docstrings and copying outdated explanations between functions; update documentation when behavior changes.
- Confusing a returned value with printed output, or failing to verify a function’s behavior with different input values.
- Skipping the practice step and assuming the example covers every input. Test at least one normal case and one edge case relevant to this topic.
Key Takeaways
- A function docstring is a string literal placed first in a function body.
- The docstring appears in __doc__, and the call returns 14.
- Apply the technique deliberately, checking its documented input requirements and failure behavior before integrating it into a larger project.