Bird
Raised Fist0
Pythonprogramming~10 mins

Docstrings and documentation in Python - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a docstring that describes the function.

Python
def greet(name):
    [1]
    return f"Hello, {name}!"
Drag options to blanks, or click blank then click option'
Aprint("Hello")
B# This function greets the user
C"""Return a greeting message."""
D'''Print greeting'''
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using comments (#) instead of docstrings.
Using single quotes instead of triple double quotes.
Placing the docstring outside the function.
2fill in blank
medium

Complete the code to add a docstring that explains the parameters.

Python
def add(a, b):
    [1]
    return a + b
Drag options to blanks, or click blank then click option'
A"""Add two numbers. Args: a (int): First number. b (int): Second number. Returns: int: Sum of a and b. """
B# Adds a and b
C"""Add two numbers and return the result."""
D'''Sum two values'''
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Not explaining parameters in the docstring.
Using comments instead of docstrings.
Missing the Returns section.
3fill in blank
hard

Fix the error in the docstring format.

Python
def multiply(x, y):
    [1]
    return x * y
Drag options to blanks, or click blank then click option'
A"""Multiply two numbers and return the product."""
B"Multiply two numbers and return the product."
C'''Multiply two numbers and return the product'''
D# Multiply two numbers
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using single quotes instead of triple double quotes.
Using comments instead of docstrings.
Not enclosing the docstring properly.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that documents word lengths for words longer than 3 characters.

Python
words = ['apple', 'bat', 'carrot', 'dog']
lengths = {word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B<=
C>
Dword
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the wrong comparison operator.
Using the word itself instead of its length.
Not filtering words correctly.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase words to their lengths if length is greater than 4.

Python
words = ['tree', 'house', 'car', 'elephant']
result = [1]: [2] for word in words if len(word) [3] 4
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
C>
Dword
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the word itself instead of uppercase.
Using wrong comparison operator.
Mixing keys and values in the comprehension.

Practice

(1/5)
1. What is the main purpose of a docstring in Python?
easy
A. To store variable values
B. To execute code automatically
C. To explain what a function, class, or module does
D. To import external libraries

Solution

  1. Step 1: Understand what docstrings are

    Docstrings are special strings placed right after function, class, or module definitions to describe their purpose.
  2. Step 2: Identify the purpose of docstrings

    They help explain what the code does, making it easier for others and yourself to understand.
  3. Final Answer:

    To explain what a function, class, or module does -> Option C
  4. Quick Check:

    Docstrings = Explanation [OK]
Hint: Docstrings describe code purpose inside triple quotes [OK]
Common Mistakes:
  • Thinking docstrings run code
  • Confusing docstrings with comments
  • Using docstrings to store data
2. Which of the following is the correct way to write a docstring for a function in Python?
easy
A. def func(): // This is a docstring
B. def func(): # This is a docstring
C. def func(): "This is a comment"
D. def func(): '''This function does something'''

Solution

  1. Step 1: Identify correct docstring syntax

    Docstrings use triple quotes (''' or """) placed immediately after the function header.
  2. Step 2: Check each option

    def func(): '''This function does something''' uses triple single quotes right after the function header, which is correct. Options B and C use comments or double quotes incorrectly. def func(): // This is a docstring uses // which is not valid in Python.
  3. Final Answer:

    def func(): '''This function does something''' -> Option D
  4. Quick Check:

    Triple quotes after function = docstring [OK]
Hint: Docstrings use triple quotes right after function header [OK]
Common Mistakes:
  • Using # instead of triple quotes
  • Using single or double quotes only
  • Placing docstring before function header
3. What will be the output of the following code?
def greet():
    '''Return a greeting message.'''
    return "Hello!"

print(greet.__doc__)
medium
A. Return a greeting message.
B. None
C. Hello!
D. SyntaxError

Solution

  1. Step 1: Understand __doc__ attribute

    The __doc__ attribute of a function returns its docstring, which is the string inside triple quotes right after the function header.
  2. Step 2: Check the function's docstring

    The function greet has the docstring 'Return a greeting message.'. So, greet.__doc__ will output this string.
  3. Final Answer:

    Return a greeting message. -> Option A
  4. Quick Check:

    Function.__doc__ = docstring text [OK]
Hint: Use function.__doc__ to get its docstring text [OK]
Common Mistakes:
  • Expecting function return value instead of docstring
  • Confusing __doc__ with print output
  • Assuming __doc__ is None if no docstring
4. Identify the error in the following code snippet:
def add(a, b):
    """Add two numbers and return the result."""
    return a + b
medium
A. Docstring should use single quotes
B. Missing closing triple quotes for the docstring
C. Incorrect indentation of return statement
D. Function missing return statement

Solution

  1. Step 1: Check docstring syntax

    The docstring starts with triple double quotes """ but does not have a closing triple quote before the return statement.
  2. Step 2: Identify the error caused

    Without closing triple quotes, Python treats the return line as part of the string, causing a syntax error.
  3. Final Answer:

    Missing closing triple quotes for the docstring -> Option B
  4. Quick Check:

    Docstrings need opening and closing triple quotes [OK]
Hint: Always close triple quotes in docstrings [OK]
Common Mistakes:
  • Forgetting to close triple quotes
  • Indenting return inside docstring
  • Using single quotes inconsistently
5. You want to write a docstring for a function that calculates the area of a rectangle. Which of the following docstrings best follows good documentation practice?
hard
A. """Calculate the area of a rectangle given width and height. Parameters: width (float): The width of the rectangle. height (float): The height of the rectangle. Returns: float: The area of the rectangle."""
B. """Calculate area."""
C. """Area function"""
D. """Returns width * height"""

Solution

  1. Step 1: Understand good docstring content

    A good docstring clearly explains what the function does, its parameters, and what it returns.
  2. Step 2: Compare options

    """Calculate the area of a rectangle given width and height. Parameters: width (float): The width of the rectangle. height (float): The height of the rectangle. Returns: float: The area of the rectangle.""" provides a clear description, lists parameters with types, and explains the return value. Other options are too short or vague.
  3. Final Answer:

    """Calculate the area of a rectangle given width and height. Parameters: width (float): The width of the rectangle. height (float): The height of the rectangle. Returns: float: The area of the rectangle.""" -> Option A
  4. Quick Check:

    Good docstrings = clear + parameters + return [OK]
Hint: Include purpose, parameters, and return in docstrings [OK]
Common Mistakes:
  • Writing too short or vague docstrings
  • Not mentioning parameters or return values
  • Using incomplete sentences