web-dev-qa-db-ja.com

トリプルダブルクォート対二重引用符

Python doc string?

"""または"

本の中で 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()

両方の構文が機能します。私との唯一の違いは、"""を使用すると、複数行のドキュメントを作成できます。

それ以外に違いはありますか?

24
Mingyu

PEP8スタイルガイド から:

  • PEP 257 は、適切なdocstring規則を説明しています。最も重要なことに、複数行のdocstringを終了する "" "は、単独で行にある必要があります。例えば:

    """Return a foobang
    
    Optional plotz says to frobnicate the bizbaz first.
    """
    
  • 1つのライナーdocstringの場合、閉じている「」」を同じ行に置いてもかまいません。

PEP 257 1行のdocstringであっても、三重引用符を使用することをお勧めします。

  • 文字列が1行に収まる場合でも、三重引用符が使用されます。これにより、後で簡単に拡張できます。

Python標準ライブラリ自体もこれらの推奨事項に一貫して従っていないことに注意してください。たとえば、

33
unutbu

両方とも文字列なので、違いはありません。好ましいスタイルは、三重の二重引用符です( PEP 257 ):

一貫性を保つため、常にdocstringの周りに"""triple double quotes"""を使用してください。

Docstringでバックスラッシュを使用する場合は、r"""raw triple double quotes"""を使用します。 Unicode docstringの場合、u"""Unicode triple-quoted strings"""を使用します。

6
Blender

いいえ、そうでもありません。ファイルに書き込む場合は、トリプルクォートを使用するのが理想的です。1行下に行くために「\ n」を使用する必要がないためです。開始と終了の引用符が同じタイプ(二重引用符または三重引用符)であることを確認してください。さらに質問がある場合は、信頼できるリソースを次に示します。

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

0
user2514631