python中三个单引号和三个双引号文档字符串之间的区别

pra*_*shu 13 python documentation docstring pep

我只是想知道编写python docstrings(__doc__)的两种方式有什么区别:

  1. 三个单引号:

    '''
    Comment goes here
    '''  
    
    Run Code Online (Sandbox Code Playgroud)
  2. 三个双引号:

    """
    Comment goes here
    """
    
    Run Code Online (Sandbox Code Playgroud)

在生成文档时,doc字符串可以在以后格式化的方式有什么细微的差别吗?

Bre*_*arn 13

不,他们是一样的.唯一的区别是第一个可以包含三个未转义双引号的序列,而第二个可以包含三个未转义单引号的序列.(换句话说,因为分隔符不同,所以在它们内部可以使用的字符略有不同.)

Docstrings只是常规字符串,而在Python中,不同的字符串分隔符之间没有区别,当然,你不能在字符串中使用字符串分隔符.

  • @EricLeschinski:在这种情况下,你的字符串分隔符是`"""`(即三个双引号),而不是```. (2认同)

wim*_*wim 8

这并不重要.但是,对于PEP 257中显示的示例而言- Docstring约定都使用"""三重双引号""".

为了保持一致性,请始终在docstrings周围使用""三重双引号""".如果在文档字符串中使用任何反斜杠,请使用r"""raw triple double quotes""".对于Unicode文档字符串,请使用"""Unicode三引号字符串""".


Aes*_*ete 5

选择您想要的样式。就个人而言,在Python中可以使用的所有地方都使用单引号。

文档指出:

"String literals can be enclosed in matching single quotes (') or double quotes (")."
Run Code Online (Sandbox Code Playgroud)

决定使用哪一个都没关系。重要的是您要坚持自己的决定。选择一种样式并坚持使用是一种很好的做法。

  • @prashu doc-strring 只是..一个字符串。使用`"""`或`'''`引号只是*惯例*(也许在PEP中的某处规定?),通常是为了让生活更轻松或更一致或继承传统..并且可以想象一些写得不好的代码检查工具需要它(但那些都是损坏的工具)。但是,应用完全相同的字符串文字规则 - 尝试一下! (2认同)