Python 多行字符串缩进

Python 多行字符串缩进,python,cmd,indentation,Python,Cmd,Indentation,我有一个使用cmd Python模块的脚本。cmd模块使用三引号多行字符串作为帮助文本。像这样的 def x(self, strags = None): """class help text here and some more help text here""" 运行脚本时,命令“help x”将打印字符串。但是,它也会在最后两行前面打印换行符。我可以通过不缩进这些行来克服这一点,但这将使我的代码ugl{y,ier} 如何克服这个缩进问题?专业Python程序员如何处

我有一个使用cmd Python模块的脚本。cmd模块使用三引号多行字符串作为帮助文本。像这样的

def x(self, strags = None):
    """class
    help text here
    and some more help text here"""
运行脚本时,命令“help x”将打印字符串。但是,它也会在最后两行前面打印换行符。我可以通过不缩进这些行来克服这一点,但这将使我的代码ugl{y,ier}


如何克服这个缩进问题?专业Python程序员如何处理这个问题?

我会通过使用一致的缩进来处理它,如下所示:

def x(self, strags = None):
    """
    class
    help text here
    and some more help text here
    """

当然,它还需要两行代码,但它也通过使文档注释非常突出而增加了清晰度(在我看来)。

我个人尝试遵循读者对文档字符串约定的理解。它在多行docstring上有一个完整的部分。

尽管这始终是一个好主意,但这并不能解决问题。通常在docstring中出现的缩进修剪似乎在cmd模块的帮助测试中没有出现。这可能是模块中的一个bug,除非有办法解决它。