在 python Docstring 中写入双反斜杠

Writing double backslash in python Docstring

我正在为带有 clear_stop_character 功能的 python 包编写文档,用户可以在其中的列表中提供额外的停止字符。在我写的文档中:

"""
stoplist (list, default empty): Accepts a list of extra stop characters,
            should escape special regex characters (e.g., stoplist=['\*']).
"""

用户看到停止字符前的双反斜杠很重要。但是,构建包的 help() 结果显示:

"""
stoplist (list, default empty): Accepts a list of extra stop characters,
            should escape special regex characters (e.g., stoplist=['\*']).
"""

所以,这会误导用户。
顺便说一句,我没有根据前面的问题找到解决方案。
有什么想法吗?

Python 中的

\ 是一个转义字符,它告诉 Python 按字面解释其后的字符。这意味着 \ 告诉 Python 按字面解释第二个 \,从而导致不显示第一个反斜杠的错误。

解决此问题的最简单方法是使用四个反斜杠:\\。这样,Python 看到第一个反斜杠并从字面上解释第二个反斜杠,打印 \。然后,第三个反斜杠将告诉 Python 将第四个反斜杠从字面上解释为 \.

只需将您的代码重写为:

"""
stoplist (list, default empty): Accepts a list of extra stop characters,
            should escape special regex characters (e.g., stoplist=['\\*']).
"""