Подтвердить что ты не робот

Строка документа Python: тройная двойная кавычка v.s. Двойная цена

Каков предпочтительный способ записи строки документа Python?

""" или "

В книге Dive Into Python: http://www.diveintopython.net/getting_to_know_python/documenting_functions.html автор предоставляет следующий пример:

def buildConnectionString(params):
    """Build a connection string from a dictionary of parameters.

    Returns string."""

В другой главе: http://www.diveintopython.net/object_oriented_framework/index.html#fileinfo.divein автор дает еще один пример:

def stripnulls(data):
    "strip whitespace and nulls"
    return data.replace("\00", "").strip()

Оба синтаксиса работают. Единственное различие для меня в том, что """ позволяет нам писать многострочный документ.

Есть ли какая-то разница, кроме этого?

4b9b3361

Ответ 1

Из Руководство по стилю PEP8:

  • PEP 257 описывает хорошие соглашения с docstring. Обратите внимание, что большинство важно, что "", которое заканчивается многострочной докшлинной, должно быть на строка сама по себе, например:

    """Return a foobang
    
    Optional plotz says to frobnicate the bizbaz first.
    """
    
  • Для одного лайнера docstrings, это нормально держать закрытие "" на та же линия.

PEP 257 рекомендует использовать тройные кавычки, даже для однострочных docstrings:

  • Тройные кавычки используются, даже если строка соответствует одной строке. Эта упрощает его дальнейшее расширение.

Обратите внимание, что даже стандартная библиотека Python сама по себе не следует этим рекомендациям. Например,

Ответ 2

Они обе строки, поэтому нет никакой разницы. Предпочтительный стиль - тройные двойные кавычки (PEP 257):

Для согласованности всегда используйте """triple double quotes""" вокруг docstrings.

Используйте r"""raw triple double quotes""", если вы используете любые обратные косые черты в ваших документах. Для docstrings Unicode используйте u"""Unicode triple-quoted strings""".

Ответ 3

Нет, не совсем. Если вы пишете файл, использование тройных кавычек может быть идеальным, потому что вам не нужно использовать "\n", чтобы перейти вниз. Просто убедитесь, что кавычки, которые вы начинаете и заканчиваете, имеют один и тот же тип (двойные или тройные кавычки). Вот надежный ресурс, если у вас есть еще вопросы:

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