三双引号 vs.文档字符串的双引号[重复]

问题描述 投票:0回答:4

编写 Python 文档字符串的首选方式是什么?

"""
"

在《Dive Into Python》一书中,作者提供了以下示例: def buildConnectionString(params): """Build a connection string from a dictionary of parameters. Returns string."""

在另一
章节

,作者提供了另一个例子: def stripnulls(data): "strip whitespace and nulls" return data.replace("\00", "").strip()

两种语法都有效。对我来说唯一的区别是 
"""

允许我们编写多行文档。

除此之外还有什么不同吗?

python pep8 quote docstring pep
4个回答
43
投票
PEP8风格指南

  • PEP 257

    描述了良好的文档字符串约定。请注意,大多数 重要的是,结束多行文档字符串的“””应该位于 单独一行,例如: """Return a foobang Optional plotz says to frobnicate the bizbaz first. """

  • 对于一个班轮文档字符串,可以将结尾的“””保留在 同一条线。
PEP 257

建议使用三引号,即使对于一行文档字符串也是如此:

即使字符串适合一行,也会使用三引号。这 方便以后扩展。
  • 请注意,甚至 Python 标准库本身也没有始终如一地遵循这些建议。例如,

    abcoll.py
  • ftplib.py
  • functools.py
  • 检查.py

10
投票
PEP 257

):

为了保持一致性,请始终在文档字符串周围使用
"""triple double quotes"""

如果您在文档字符串中使用任何反斜杠,请使用 

r"""raw triple double quotes"""

。对于 Unicode 文档字符串,请使用

u"""Unicode triple-quoted strings"""

    


0
投票

http://docs.python.org/release/1.5.1p1/tut/strings.html


0
投票
长 SQL 查询

使用三双引号来提高可读性,而不是向右滚动查看它,如下所示: query = """ SELECT count(*) FROM (SELECT * FROM student WHERE grade = 2 AND major = 'Computer Science' FOR UPDATE) AS result; """

而且,如果
上面的SQL查询

使用双引号可读性会更差,你需要向右滚动才能看到它,如下所示: query = "SELECT count(*) FROM (SELECT * FROM student WHERE grade = 2 AND major = 'Computer Science' FOR UPDATE) AS result;"

此外,您还可以使用
三双引号

来进行GraphQL查询,如下所示: query = """ { products(first: 5) { edges { node { id handle } } } }"""

© www.soinside.com 2019 - 2024. All rights reserved.