escape-sequence-in-docstring (D301)
Derived from the pydocstyle linter.
Fix is sometimes available.
What it does
Checks for docstrings that include backslashes, but are not defined as raw string literals.
Why is this bad?
In Python, backslashes are typically used to escape characters in strings.
In raw strings (those prefixed with an r
), however, backslashes are
treated as literal characters.
PEP 257 recommends
the use of raw strings (i.e., r"""raw triple double quotes"""
) for
docstrings that include backslashes. The use of a raw string ensures that
any backslashes are treated as literal characters, and not as escape
sequences, which avoids confusion.
Example
Use instead: