Bird
Raised Fist0
Pythonprogramming~20 mins

Docstrings and documentation in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
๐ŸŽ–๏ธ
Docstring Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
1:30remaining
Output of a function with a docstring
What is the output of this code when calling greet('Alice')?
Python
def greet(name):
    """Return a greeting message for the given name."""
    return f"Hello, {name}!"

print(greet('Alice'))
ANone
Bgreet
CHello, Alice!
DHello, name!
Attempts:
2 left
๐Ÿ’ก Hint
The function returns a formatted string using the input name.
โ“ Predict Output
intermediate
1:30remaining
Accessing a function's docstring
What will be printed by this code?
Python
def add(a, b):
    '''Add two numbers and return the result.'''
    return a + b

print(add.__doc__)
ASyntaxError
Badd
CNone
DAdd two numbers and return the result.
Attempts:
2 left
๐Ÿ’ก Hint
The __doc__ attribute holds the function's docstring.
โ“ Predict Output
advanced
1:30remaining
Docstring effect on function behavior
What is the output of this code?
Python
def multiply(x, y):
    '''Multiply two numbers.'''
    result = x * y

print(multiply(3, 4))
ANone
B12
CMultiply two numbers.
DTypeError
Attempts:
2 left
๐Ÿ’ก Hint
Check if the function returns a value.
๐Ÿง  Conceptual
advanced
1:00remaining
Purpose of docstrings in Python
Which of the following best describes the main purpose of a docstring in Python?
ATo store variables inside the function.
BTo document what a function, class, or module does for users and developers.
CTo improve the speed of the program.
DTo execute code inside the triple quotes.
Attempts:
2 left
๐Ÿ’ก Hint
Docstrings are meant for explaining code, not running it.
โ“ Predict Output
expert
2:00remaining
Docstring and help() function output
What will be the first line printed by help(divide) for this function?
Python
def divide(a, b):
    '''Divide a by b and return the result.'''
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b
AHelp on function divide in module __main__:
BDivide a by b and return the result.
CTraceback (most recent call last):
DNone
Attempts:
2 left
๐Ÿ’ก Hint
The help() function prints a header line before the docstring.

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