Comillas simples versus comillas dobles en Python [cerrado]

Resuelto readonly asked hace 16 años • 19 respuestas

Según la documentación, son prácticamente intercambiables. ¿Existe alguna razón estilística para utilizar uno sobre el otro?

readonly avatar Sep 11 '08 15:09 readonly
Aceptado

Me gusta usar comillas dobles alrededor de cadenas que se usan para interpolación o que son mensajes en lenguaje natural, y comillas simples para cadenas pequeñas con forma de símbolos, pero romperé las reglas si las cadenas contienen comillas o si lo olvido. Utilizo comillas dobles triples para cadenas de documentación y literales de cadena sin formato para expresiones regulares, incluso si no son necesarias.

Por ejemplo:

LIGHT_MESSAGES = {
    'English': "There are %(number_of_lights)s lights.",
    'Pirate':  "Arr! Thar be %(number_of_lights)s lights."
}

def lights_message(language, number_of_lights):
    """Return a language-appropriate string reporting the light count."""
    return LIGHT_MESSAGES[language] % locals()

def is_pirate(message):
    """Return True if the given message sounds piratical."""
    return re.search(r"(?i)(arr|avast|yohoho)!", message) is not None
Will Harris avatar Sep 11 '2008 10:09 Will Harris

Citando los documentos oficiales en https://docs.python.org/2.0/ref/strings.html :

En términos sencillos: los literales de cadena se pueden encerrar entre comillas simples (') o dobles (").

Entonces no hay diferencia. En cambio, la gente le dirá que elija el estilo que coincida con el contexto y que sea coherente . Y estoy de acuerdo, añadiendo que no tiene sentido tratar de crear "convenciones" para este tipo de cosas porque sólo terminarás confundiendo a los recién llegados.

conny avatar Sep 27 '2008 18:09 conny

Solía ​​preferirlo ', especialmente por '''docstrings'''lo que encuentro """this creates some fluff""". Además, 'se puede escribir sin la Shifttecla de mi teclado alemán suizo.

Desde entonces he cambiado al uso de comillas triples """docstrings"""para cumplir con PEP 257 .

Daren Thomas avatar Sep 11 '2008 08:09 Daren Thomas